uploadify这个插件是基于js里面的jquery库写的。结合了ajax和flash,实现了这个多线程上传的功能。

现在最新版为3.2.1。
在线实例
实例中用到的php文件UploaderDemo.php请在页面下方下载
引入文件
使用方法
<form>
<div id="queue"></div>
<input id="file_upload" name="file_upload" type="file" multiple="true">
</form>
<div id="uploadfiles"></div>
<div id="fileQueue" style="clear:both"></div>
<script type="text/javascript">
var timestamp = new Date().getTime();
var token = Math.floor(Math.random() * 1000) + timestamp;
$(function() {
$('#file_upload').uploadify({
'buttonText': '选择文件..',
'fileObjName': 'simplefile',
'method': 'post',
'multi': true,
'queueID': 'fileQueue',
//'uploadLimit': 2,
'fileTypeExts': '*.gif;*.png;*.jpg;*.bmp;*.jpeg;',
'buttonImage': '/static/js/uploadify/select.png',
'formData': {
'timestamp': timestamp,
'token': token
},
'swf': '/static/js/uploadify/uploadify.swf',
'uploader': '/static/php/UploaderDemo.php',
'onUploadStart': function() {
$imgHtml = '<img class="upload_load" src="/static/images/upload.gif" align="absmiddle" />';
$('#uploadfiles').append($imgHtml);
},
'onUploadSuccess': function(file, data, response) {
$('.upload_load').remove();
var json = $.parseJSON(data);
if (json.state == 'success') {
$imgHtml = '<span id="file_' + json.file_id + '">';
$imgHtml += '<a href="' + json.file + '" target="_blank">';
$imgHtml += '<img src="' + json.file + '" width="100" height="100" align="absmiddle"/>';
$imgHtml += '</a>';
$imgHtml += '<a href="javascript:uploadifyRemove("' + json.file + '")">删除</a>';
$imgHtml += '</span>';
$($imgHtml).appendTo('#uploadfiles');
} else {
alert(json.message);
}
},
'onQueueComplete': function() {
$('.upload_load').remove();
}
});
});
</script>
参数说明
| 属性名称 | 默认值 | 说明 |
| auto | true | 设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传 。 |
| buttonClass | ” | 按钮样式 |
| buttonCursor | ‘hand' | 鼠标指针悬停在按钮上的样子 |
| buttonImage | null | 浏览按钮的图片的路径 。 |
| buttonText | ‘SELECT FILES' | 浏览按钮的文本。 |
| checkExisting | false | 文件上传重复性检查程序,检查即将上传的文件在服务器端是否已存在,存在返回1,不存在返回0 |
| debug | false | 如果设置为true则表示启用SWFUpload的调试模式 |
| fileObjName | ‘Filedata' | 文件上传对象的名称,如果命名为'the_files',PHP程序可以用$_FILES['the_files']来处理上传的文件对象。 |
| fileSizeLimit | 0 |
上传文件的大小限制 ,如果为整数型则表示以KB为单位的大小,如果是字符串,则可以使用(B, KB, MB, or GB)为单位,比如'2MB'; 如果设置为0则表示无限制 |
| fileTypeDesc | ‘All Files' | 这个属性值必须设置fileTypeExts属性后才有效,用来设置选择文件对话框中的提示文本,如设置fileTypeDesc为“请选择rar doc pdf文件” |
| fileTypeExts | ‘*.*' | 设置可以选择的文件的类型,格式如:'*.doc;*.pdf;*.rar' 。 |
| formData | JSON格式上传每个文件的同时提交到服务器的额外数据,可在'onUploadStart'事件中使用'settings'方法动态设置。 | |
| height | 30 | 设置浏览按钮的高度 ,默认值 |
| itemTemplate | false | 用于设置上传队列的HTML模版,可以使用以下标签: instanceID – Uploadify实例的ID fileID – 列队中此文件的ID,或者理解为此任务的ID fileName – 文件的名称 fileSize – 当前上传文件的大小 插入模版标签时使用格式如:${fileName} |
| method | Post | 提交方式Post或Get |
| multi | true | 设置为true时可以上传多个文件。 |
| overrideEvents | 设置哪些事件可以被重写,JSON格式,如:'overrideEvents' : ['onUploadProgress'] | |
| preventCaching | true | 如果为true,则每次上传文件时自动加上一串随机字符串参数,防止URL缓存影响上传结果 |
| progressData | ‘percentage' | 设置上传进度显示方式,percentage显示上传百分比,speed显示上传速度 |
| queueID | false | 设置上传队列容器DOM元素的ID,如果为false则自动生成一个队列容器。 |
| queueSizeLimit | 999 | 队列最多显示的任务数量,如果选择的文件数量超出此限制,将会出发onSelectError事件。 注意此项并非最大文件上传数量,如果要限制最大上传文件数量,应设置uploadLimit。 |
| removeCompleted | true | 是否自动将已完成任务从队列中删除,如果设置为false则会一直保留此任务显示。 |
| removeTimeout | 3 | 如果设置了任务完成后自动从队列中移除,则可以规定从完成到被移除的时间间隔。 |
| requeueErrors | false | 如果设置为true,则单个任务上传失败后将返回错误,并重新加入任务队列上传。 |
| successTimeout | 30 | 文件上传成功后服务端应返回成功标志,此项设置返回结果的超时时间 |
| swf | ‘uploadify.swf' | uploadify.swf 文件的相对路径。 |
| uploader | uploadify.php | 后台处理程序的相对路径。 |
| uploadLimit | 999 | 最大上传文件数量,如果达到或超出此限制将会触发onUploadError事件。 |
| width | 120 | 设置文件浏览按钮的宽度。 |
| 事件名称 | 说明 |
| onCancel(file) |
当点击文件队列中文件的关闭按钮或点击取消上传时触发,file参数为被取消上传的文件对象 |
| onClearQueue(queueItemCount) | 当调用函数cancel方法时触发,queueItemCount参数为被取消上传的文件数量。 |
| onDestroy() | 当destory方法被调用时触发 |
| onDialogClose(queueData) |
当文件浏览框关闭时触发,如果将此事件被重写,则当向队列添加文件上传出错时不会弹出错误消息提示。 queueData对象包含如下属性:
|
| onDialogOpen() | 当文件选择对话框弹出时立即出发,但可能在文件选择对话框被关闭之前并不能全部执行。 |
| onDisable() | 当disable方法禁用Uploadify上传按钮时被调用时触发。 |
| onEnable() | 当disable方法启用Uploadify上传按钮时被调用时触发。 |
| onFallback() | 当Uploadify初始化过程中检测到当前浏览器不支持flash时触发。 |
| onInit() | 首次初始化Uploadify结束时触发。 |
| onQueueComplete(queueData) |
文件上传队列处理完毕后触发。 queueData对象包含如下属性:
|
| onSelect(file) |
选择文件后向队列中添加每个上传任务时都会触发。 |
| onSelectError(file, errorCode, errorMsg) |
选择文件后向队列中添加每个上传任务时如果失败都会触发。 file – 文件对象 errorCode – 错误代码如下:
errorMsg – 错误提示,可通过'this.queueData.errorMsg'定制 |
| onSWFReady() | Flash文件载入成功后触发。 |
| onUploadComplete(file) | 每个文件上传完毕后无论成功与否都会触发。 |
| onUploadError(file, errorCode, errorMsg, errorString) | 文件上传出错时触发,参数由服务端程序返回。 |
| onUploadProgress(file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal) |
处理上传队列的过程中会多次触发此事件,每当任务状态有更新时都会触发。
|
| onUploadStart(file) | 当文件即将开始上传时立即触发 |
| onUploadSuccess(file, data, response) |
当文件上传成功时触发
|
| 方法名称 | 说明 | 应用举例 |
| cancel(fileID, suppressEvent) |
取消队列中的任务,不管此任务是否已经开始上传
|
|
| destroy() | 销毁Uploadify实例并将文件上传按钮恢复到原始状态 |
|
| disable(setDisabled) |
禁用或启用文件浏览按钮 setDisabled – 设置为true表示禁用,false为启用 |
|
| settings(name, value, resetObjects) |
获取或设置Uploadify实例参数
|
|
| stop() | 停止当前正在上传的任务 |
|
| upload(fileID) | 立即上传指定的文件,如果fileID为'*'表示上传所有文件,要指定上传多个文件,则将每个文件的fileID作为一个参数 |
|
文件UploaderDemo.php下载
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# jquery
# uploadify
# 参数详解
# 详解
# Javascript使用uploadify来实现多文件上传
# uploadify java实现多文件上传和预览
# jQuery.uploadify文件上传组件实例讲解
# jQuery文件上传控件 Uploadify 详解
# ASP.NET多文件上传控件Uploadify的使用方法
# ASP.NET文件上传控件Uploadify的使用方法
# uploadify多文件上传参数设置技巧
# php+jQuery.uploadify实现文件上传教程
# jQuery文件上传插件Uploadify使用指南
# JavaScript Uploadify文件上传实例
# 上传
# 文件上传
# 设置为
# 多少个
# 上传文件
# 对话框
# 服务端
# 清空
# 第一个
# 多个
# 将会
# 弹出
# 重写
# 则可
# 此项
# 移除
# 默认值
# 后向
# 的是
# 首次
相关文章:
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
如何实现建站之星域名转发设置?
开源网站制作软件,开源网站什么意思?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
建站之星后台密码遗忘?如何快速找回?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
建站主机SSH密钥生成步骤及常见问题解答?
如何通过多用户协作模板快速搭建高效企业网站?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
教程网站设计制作软件,怎么创建自己的一个网站?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
成都响应式网站开发,dw怎么把手机适应页面变成网页?
山东云建站价格为何差异显著?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
一键网站制作软件,义乌购一件代发流程?
招商网站制作流程,网站招商广告语?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
建站主机选虚拟主机还是云服务器更好?
建站之星3.0如何解决常见操作问题?
如何挑选高效建站主机与优质域名?
如何快速完成中国万网建站详细流程?
淘宝制作网站有哪些,淘宝网官网主页?
Swift中swift中的switch 语句
图册素材网站设计制作软件,图册的导出方式有几种?
建站之星导航菜单设置与功能模块配置全攻略
Java解压缩zip - 解压缩多个文件或文件夹实例
黑客如何通过漏洞一步步攻陷网站服务器?
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
公司网站设计制作厂家,怎么创建自己的一个网站?
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
建站之星代理费用多少?最新价格详情介绍
如何在IIS中新建站点并配置端口与物理路径?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
Android使用GridView实现日历的简单功能
如何在阿里云通过域名搭建网站?
深入理解Android中的xmlns:tools属性
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
TestNG的testng.xml配置文件怎么写
如何在IIS中新建站点并解决端口绑定冲突?
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
制作旅游网站html,怎样注册旅游网站?
广德云建站网站建设方案与建站流程优化指南
简历在线制作网站免费版,如何创建个人简历?
如何用VPS主机快速搭建个人网站?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
*请认真填写需求信息,我们会在24小时内与您取得联系。