**jQuery批量上传插件Uploadify**是一款非常实用的前端文件上传工具,它允许用户通过Flash技术实现批量、异步的文件上传。Uploadify提供了一系列可配置的参数,使其能够适应各种上传需求,同时具备良好的用户体验。
### Uploadify关键参数说明:
1. **uploader**:指定Flash文件的位置,即`uploadify.swf`,确保该路径正确,以便在浏览器中正确加载。
2. **script**:设置服务器端处理上传请求的脚本路径,如`servlet/Upload`,这通常是服务器端接收文件的接口。
3. **cancelImg**:定义上传取消按钮的图片路径,例如`images/cancel.png`。
4. **folder**:指定上传文件保存的目标文件夹,例如`uploads`。
5. **queueID**:与上传文件列表对应的HTML元素ID,如`fileQueue`,用于显示上传队列信息。
6. **fileDesc**:定义允许上传的文件类型描述,如`rar 文件或 zip 文件`。
7. **method**:设置HTTP请求方式,通常为`get`或`post`。
8. **sizeLimit**:限制上传文件的大小,单位为字节。
9. **multi**:设置是否支持多文件上传,`true`表示支持。
10. **simUploadLimit**:同时上传的文件数量限制,例如`2`。
11. **buttonText**:自定义浏览按钮的文本,如`BROWSE`。
12. **onComplete**:文件上传完成后调用的回调函数,可用于处理上传结果。
### 后台处理示例:
在Java后台,我们需要接收并处理上传的文件。例如,通过创建文件对象,检查文件名是否已存在,如果存在则重新命名,然后将文件写入指定的保存路径。返回文件的新名称给前端。
### Uploadify属性:
- **auto**:是否在选择文件后自动上传,默认为`true`。
- **buttonImg**:设置浏览按钮的背景图片。
- **width**和**height**:分别设置SWF组件的宽度和高度。
- **hideButton**:是否隐藏上传按钮。
- **fileExt**:允许的文件扩展名。
- **folder**:指定保存文件的目录。
- **wmode**:Flash的窗口模式,如`opaque`或`window`。
- **event handlers**:如`onAllComplete`, `onCancel`, `onError`, `onOpen`, `onProgress`, `onQueueFull`, `onSelect`, `onSelectOnce`等,用于监听并处理各种上传事件。
### 使用方法:
在HTML中,创建一个`<input>`标签,并设置`id`为`uploadify`,然后通过JavaScript初始化Uploadify,例如`$("#uploadify").uploadify(options)`,其中`options`是一个包含上述参数的对象。
### Flash说明:
Uploadify使用Flash作为上传的媒介,因此需要确保用户的浏览器支持Flash。对于不支持Flash的浏览器,Uploadify提供了`expressInstall.swf`来引导用户安装Flash Player。
### 实例方法:
Uploadify实例还提供了如`.uploadifyQueue()`、`.uploadifyClearQueue()`和`.uploadifyRemove()`等方法,用于管理上传队列,例如取消某个文件的上传或清除整个队列。
jQuery批量上传插件Uploadify通过其丰富的配置选项和强大的功能,为开发人员提供了灵活且用户友好的文件上传解决方案。只需适当配置,就可以轻松地实现批量、异步的文件上传功能。