Uploadify是一款基于JQuery的优秀的文件/图片上传的插件,有基于Flash和HTML5两种版本。
Uploadify/uploadifive主要特点有:
1. 多文件上传
2. 个性化设置
3. 上传进度条显示
4. 拖拽上传(HTML5版本)
在部署一个Uploadify实例前,请确保满足最低要求:
- 1.jQuery 1.4.x 或更高版本
- 2.Flash Player 9.0.24 或更高版本
- 3.支持PHP, ASP.Net, Cold Fusion的服务器环境(官方默认支持PHP)
下载最新版本的uploadify,解压到服务器根目录下的uploadify文件夹中,你可以看到以下文件:
- Change Log.txt(uploadify的升级日志,部署时删掉)
- check-exists.php(用来检查上传目标文件夹里是否存在相同文件)
- index.php(官方实例)
- jquery.uploadify.js(上传插件)
- jquery.uploadify.min.js(压缩版的上传插件,部署时使用)
- license.txt(许可证文件,部署时删掉)
- uploadify.css(上传控件样式表)
- uploadify.php(上传数据处理文件)
- uploadify.swf(flash基础文件)
- uploadify-cancel.png(取消按钮图片)
在官方提供的实例文件中,是引用的jquery官方网站上的jquery库,有需要的朋友还需要本地引用jquery库。
下面我们看一看如何在你的项目上部署uploadify:
1.我们假定上传控件部署在网站根目录下的upload.
php中,uploadify文件夹位于网站根目录中,上传的文件保存在根目录下的upload文件夹中,uploadify文件夹中包含check-exists.php、jquery.min.js 、jquery.uploadify.min.js、uploadify.css、uploadify.swf、uploadify-cancel.png。
2.引用jquery库
- <script type="text/javascript" "/uploadify/jquery.min.js"></script>
3.引用uploadify脚本
- <script type="text/javascript" "/uploadify /jquery.uploadify.min.js"></script>
4.引用uploadify样式表
- <link "stylesheet" type="text/css" href="uploadify.css" />
5. 声明一个普通的html文件上传控件,并指定id
- <input "file_upload" name="file_upload" type="file" multiple="true">
6. 将声明的普通上传控件与Uploadify插件绑定,并初始化
- <script type="text/javascript">
- $function
- $‘#file_upload‘.uploadify
- ‘swf‘ : ‘/uploadify uploadify.swf‘, //指定上传控件的主体文件
- ‘uploader‘ : ‘/uploadify uploadify.php‘ //指定服务器端上传处理文件
- //其他配置项
- </script>
设置auto为true,当文件被添加至上传队列时,将会自动上传。
为上传按钮添加类名。
鼠标经过上传按钮时,鼠标的形状。可选值为‘hand’(手形) 和 ‘arrow’(箭头)。
定义“浏览”按钮背景图像的路径。给按钮设置背景图像的代码最好写在CSS文件中。
定义显示在默认按钮上的文本。
定义检查目标文件夹中是否存在同名文件的脚本文件路径。
当其值为true时,开启SWFUpload调试模式。
定义上传数据处理文件中接收数据使用的文件对象名。
上传文件大小限制。
可选择的文件类型的描述。此字符串出现在浏览文件对话框的文件类型下拉菜单中。
定义允许上传的文件后缀。
formDataJSON对象
定义在文件上传时需要一同提交的其他数据对象。
上传按钮的高度(单位:像素)。
itemTemplate选项允许你为每一个添加到队列中选项设定一个不同HTML模板。
上传文件的提交方法,取值‘post‘或‘get‘。
设置值为false时,一次只能选中一个文件。
该项定义了一组默认脚本中你不想执行的事件名称。
如果设置为真,一个随机的值添加到SWF文件的URL,因此它不会缓存。
设置显示在上传进度条中的数据类型,可选项时百分比(percentage)或速度(speed)。
queueID选项允许你设置一个拥有唯一ID的DOM元素来作为显示上传队列的容器。
上传队列中一次可容纳的最大条数。
不设置该选项或者将其设置为false,将使上传队列中的项目始终显示于队列中,直到点击了关闭按钮或者队列被清空。
设置上传完成后从上传队列中移除的时间(单位:秒)。
设置为真时,上传队列重置或上传多次重试时,返回错误信息。
表示uploadify的成功等待时间(单位:秒,默认30秒)。
定义uploadify.swf的路径。
定义服务器端上传数据处理脚本文件uploadify.swf的路径。
定义允许的最大上传数量。
定义浏览按钮的宽度。
设置onCancel选项,在文件上传被取消时,将允许运行一个自定义函数。
设置onClearQueue选项,上传队列清空(激活ancel方法)时,将允许运行一个自定义函数。
销毁Uploadify实例(调用destroy方法)时触发该事件。
当浏览文件对话框关闭时触发该事件。如果该事件被添加到overrideEvents属性中,在添加文件到队列中发生错误时,将不会弹出默认错误信息。
在浏览文件对话框被打开前一瞬触发该事件。
调用disable方法禁用Uploadify实例时触发该事件。
调用disable方法启用Uploadify实例时触发该事件。
浏览器检测不到兼容版本的Flash时触发该事件。
调用Uploadify初始化结束时触发该事件。
队列中的所有文件被处理完成时触发该事件。
每添加一个文件至上传队列时触发该事件。
选择文件返回错误时触发该事件。每一个文件返回错误都会触发该事件。
当flash按钮载入完毕时触发该事件。
每一个文件上传完成都会触发该事件,不管是上传成功还是上传失败。
上传失败时触发该事件。
上传进度更新时触发该事件。
在开始上传之前的瞬间会触发该事件。
每一个文件上传成功时触发该事件。
取消上传对象。
销毁Uploadify实例,并返回原文件域。
控制浏览按钮是否可用。
返回或更新一个Uploadify实例的值。
停止当前上传。
上传指定文件或队列中的所有文件。