上传程序 高级文件选择器 jQuery表单助手

  • 源码大小:144.34KB
  • 所需积分:1积分
  • 源码编号:19JP-3539
  • 浏览次数:1013次
  • 最后更新:2023年06月24日
  • 所属栏目:表单
我要下载
加入收藏
本站默认解压密码:19jp.com 或 19jp_com

简介

formhelper是一个高级的、可自定义的文件输入/文件选择器插件,可以帮助开发人员轻松创建文件上传器。

特征:

  • 与Bootstrap框架兼容。
  • 允许您通过拖放方式拾取文件。
  • 允许您限制文件的大小、数量和格式。
  • 允许您一次选择多个文件。

如何使用它:

1.在文档中加载所需的jQuery库和其他资源。

  1. <!-- Bootstrap Stylesheet (OPTIONAL) -->
  2. <link rel="stylesheet" href="/path/to/cdn/bootstrap.min.css" />
  3.  
  4. <!-- jQuery is required -->
  5. <script src="/path/to/cdn/jquery.min.js"></script>
  6.  
  7. <!-- Font Awesome Icons -->
  8. <link rel="stylesheet" href="/path/to/font-awesome/all.min.css" />

2.加载jQuery formhelper插件的文件。

  1. <link rel="stylesheet" href="./dist/css/jquery-formhelper.min.css" />
  2. <script src="./dist/js/jquery-formhelper.min.js" defer></script>

3.初始化HTML表单上的插件。

  1. <form class="uploader"></form>
  1. $(function(){
  2. var formhelper = $('.uploader').formhelper();
  3. });

4.在上传程序中添加一个文件选择器。

  1. var fileInput = formhelper.addFilePicker({
  2.  
  3. // config the file input
  4. fileInput: {
  5. name: 'files[]',
  6. accept: [],
  7. multiple: false,
  8. },
  9.  
  10. canRemove: true,
  11. canModify: true,
  12. canDragDrop: false,
  13. dragDropArea: false, // drop area
  14. container: false,
  15. maxBytes: 10 * 1024 * 1024,
  16. maxFiles: 10,
  17.  
  18. // callbacks
  19. onChange: undefined,
  20. onCreate: undefined,
  21. onRemove: undefined,
  22. onDrop: undefined,
  23. onDragEnter: undefined,
  24. onDragOver: undefined,
  25. onDragLeave: undefined,
  26. offDragDrop: undefined,
  27. });

5.通过JavaScript将文件添加到上传器。

  1. fileInput.addFileBox({
  2. inputs: [
  3. {name: 'hideValue', value: 'demo'}
  4. ],
  5. files: [
  6. {
  7. name: '1.png',
  8. size: 11179,
  9. link: '1.png',
  10. },
  11. {
  12. name: '2.png',
  13. size: 356745,
  14. link: '2.png',
  15. },
  16. ],
  17. });

6.所有可能的选项表单助手方法

  1. var formhelper = $('.uploader').formhelper({
  2. maxBytes: 20 * 1024 * 1024,
  3. maxFiles: 20,
  4. filePicker: {
  5. canRemove: true,
  6. canModify: true,
  7. canDragDrop: false,
  8. showFileSize: true,
  9. dragDropArea: false,
  10. container: false,
  11. maxBytes: 10 * 1024 * 1024,
  12. maxFiles: 10,
  13. onChange: undefined,
  14. onCreate: undefined,
  15. onRemove: undefined,
  16. onDrop: undefined,
  17. onDragEnter: undefined,
  18. onDragOver: undefined,
  19. onDragLeave: undefined,
  20. offDragDrop: undefined,
  21. fileInput: {
  22. name: 'files[]',
  23. accept: [],
  24. multiple: false,
  25. },
  26. },
  27. language: {
  28. selectFile: 'Select file',
  29. selectingFile: 'Selecting files...',
  30. unselectFile: 'No files selected.',
  31. limitMsg: 'File size limit ({0}). Upload limit {1} files.',
  32. acceptMsg: 'File accept format list: {0}',
  33. fileSizeOverload: 'File size overload! limit size: {1}',
  34. fileCountOverload: 'File count overload! limit count: {1}',
  35. },
  36. templates: {
  37. filePicker: false,
  38. fileBox: false,
  39. },
  40. onFail: function (e) {
  41. alert(`[${e.code}] ${e.msg}`);
  42. },
  43. });

7.获取有关文件选择器的信息。

  1. var total = formhelper.getFilePickerInfo();
  2. total.count
  3. total.sizeHum
  4.  
  5. // get the number of files from the fileInput instance
  6. fileInput.getCount();
  7. // get the size of files from the fileInput instance
  8. fileInput.getSize(true)

更新日志:

v1.8.3 (2022-06-06)

  • 修补程序

v1.8.2 (2021-06-11)

  • 修补程序

v1.8.1 (2021-06-09)

  • 添加了显示文件大小配置

v1.8.0 (2021-05-18)

  • 删除文件输入使用文件blob

2021-04-25

  • 向FilePicker API添加了触发器

预览截图