31K Star,分享一款强大的文件上传处理神器-jQuery-File-Upload

文档 Demo演示

文件上传小部件,具有多个文件选择、拖放支持、进度栏、验证和预览图像、jQuery 音频和视频。支持跨域、分块、断点续传的文件上传。可与任何支持标准 HTML 表单文件上传的服务器端平台(Google App Engine、PHP、Python、Ruby on Rails、Java 等)配合使用。

相关功能

  • 多文件上传:
    允许一次选择多个文件并同时上传。
  • 拖放支持:
    允许通过将文件从桌面或文件管理器拖放到浏览器窗口上来上传文件。
  • 上传进度条:
    显示进度条,指示单个文件和所有上传组合的上传进度。
  • 可取消的上传:
    可以取消单个文件上传以停止上传进度。
  • 可断点上传:
    可以使用支持 Blob API 的浏览器恢复中止的上传。
  • 分块上传:
    使用支持 Blob API 的浏览器可以以较小的块上传大文件。
  • 客户端图像大小调整:
    通过支持所需 JS API 的浏览器,可以在客户端自动调整图像大小。
  • 预览图像、音频和视频:
    在使用支持所需 API 的浏览器上传之前,可以显示图像、音频和视频文件的预览。
  • 无需浏览器插件(例如 Adob​​e Flash):
    该实现基于 HTML5 和 JavaScript 等开放标准,不需要额外的浏览器插件。
  • 旧版浏览器的优雅后备:
    如果支持,则通过 XMLHttpRequest 上传文件,并使用 iframe 作为旧版浏览器的后备。
  • HTML 文件上传表单后备:
    允许通过使用标准 HTML 文件上传表单作为小部件元素来逐步增强。
  • 跨站文件上传:
    支持使用跨站点 XMLHttpRequest 或 iframe 重定向将文件上传到不同的域。
  • 多个插件实例:
    允许在同一网页上使用多个插件实例。
  • 可定制和可扩展:
    提供API来设置各个选项并定义各种上传事件的回调方法。
  • 分段和文件内容流上传:
    文件可以作为标准“multipart/form-data”或文件内容流(HTTP PUT 文件上传)上传。
  • 兼容任何服务器端应用平台:
    适用于任何支持标准 HTML 表单文件上传的服务器端平台(PHP、Python、Ruby on Rails、Java、Node.js、Go 等)。
jQuery-file-upload演示1
jQuery-file-upload演示2
jQuery-file-upload演示3

感兴趣了使用到自己项目中,有能力的还可以进行一个二次开发。