jquery-fileupload.js文件上传插件的使用
基于 jquery 的文件上传插件。
仓库及文档
github地址:https://github.com/blueimp/jQuery-File-Upload
中文文档:http://www.jq22.com/jquery-info230
使用方式
引包
1 | <!-- jquery-fileupload依赖于jquery --> |
注:如果文件上传是跨域的,那么需要引入
jquery.iframe-transport.js
库。请按顺序引入。
html结构
name
属性指定文件上传时该文件的键名,data-url
指定图片上传时的接口地址。data-url
属性可不指定在 file
域中,使用 fileupload({})
方法的配置参数 url
也是可以的,且推荐使用本方式。
- 单文件上传
1 | <input id="fileupload" type="file" name="fileFiled" data-url="server/php/"> |
- 多文件上传
1 | <!-- 加 multiple 属性,指定多文件上传 --> |
注: 当没有为
<input type="file" name="" />
文件域指定name
属性时,在上传时,该插件会将name
属性值默认设置为 “files[]” 所以,当后端无法获取到上传的文件时,请检查name
属性是否设置正确。
fileupload 函数
使用方式也很简单,jquery-fileupload.js
在 jQuery.fn
上挂载了名为 fileupload
的方法,所以你可以通过如下方式调用她。
1 |
|
选择文件后自动上传
默认的,选择文件后会自动上传。
1 |
|
手动上传
向 fileupload
方法中传递 add
函数,可以做到手动触发上传。
1 |
|
注意:如果添加加了 add() 回调函数,必须要调用 data.submit() 方法才会触发文件上传,否则不会执行上传动作。
附加参数的添加
如果需要一次传递除文件外的其他参数,可以在文件上传前添加。这里有两种方式,第一种是在 fileupload
的自定义事件 fileuploadsubmit
中添加。第二种则是在 add()
函数中处理添加。
- 文件上传前事件
fileuploadsubmit
1 | $('#fileupload').bind('fileuploadsubmit', function (e, data) { |
- 在
add()
函数中添加
1 | $("#fileupload").fileupload({ |
注:更多配置参数及用法,请查看该插件文档。