·概述
Uploadify 是一个JQuery插件,它协助你轻松简单的将一个或多个文件上传至你的网站。
它需要Flash控件和后台开发语言的支持,丰富的参数配置,同时也简单易用,让你轻松上手。
官方网站:http://www.uploadify.com/
官方示例:http://www.uploadify.com/demo/
开发文档:http://www.uploadify.com/documentation/
插件下载:http://www.uploadify.com/download/
·参考文献
(PS:我是在这篇文章里知道这世界上有这样一个插件的 ^_^ 里面有后台C#代码)
易用的JQuery上传插件Uploadify
http://css9.net/jquery-muti-file-upload-uploadify/
·参数
uploader
设置uploadify.swf文件的相对或绝对路径。默认值:'uploadify.swf'
script
设置用于处理文件上传的后台程序页面的相对或绝对路径。默认值:'upload.php'
checkScript
设置用于检查规则的后台程序页面的相对或绝对路径。
scriptData
一个键值对应的数据,它将连同文件一起传给后台程序页面。示例:{'name':'value'}
fileDataName
设置上传控件的名称。默认值:'Filedata'
method
设置scriptData提交的方式。可选值:GET,POST 默认值:'POST'
scriptAccess
设置Flash的访问模式。如果是本地测试,可设置为'always'。默认值:'sameDomain'
folder
设置文件保存的目录。不能以'/'结束。
queneID
设置文件队列里的元素的ID,默认情况下,在点击浏览按钮后 自动创建。
queueSizeLimit
设置文件队列的最大值。默认值:999
multi
设置为true表示允许上传多个文件。
auto
设置为true表示当选择一件附件后,自动开始上传。
fileDesc
设置文件浏览对话框中的文件类型下拉框的显示文本。
fileExt
设置允许上传的文件类型,如:'*.ext1;*. ext2;*.ext3'。如果设置此选项,则必须设置fileDesc。
sizeLimit
设置允许的单文件大小。单位:字节
simUploadLimit
设置同时上传文件的数量。默认值:1
buttonText
设置上传按钮的文本。默认值:'BROWSE'
buttonImg
设置浏览按钮的图片。
hideButton
设置为true则隐藏按钮图片。
rollover
Set to true if you would like to activate rollover states for your
browse button. To prepare your browse button for rollover states, simple
add the ‘over’ and ‘press’ states below the normal state in a single
file.
width
设置按钮图片和flash文件的宽度。默认值:30
height
设置按钮图片或flash文件的高度。如果rollover为true,则是实际大小的1/3。默认值:110
wmode
设置为transparent则flash的背景将变成透明,并且在页面所有元素的最顶层。默认值:'opaque'
cancelImg
设置取消按钮的图片路径。默认值:cancel.png
onInit
当插件加载时触发此事件,默认会将页面上的目标元素转换成flash文件并添加容器,如果返回false则不会执行此动作。
onSelect
当选中一个文件后触发此事件,默认会创建一个6位的随机编号的元素,并加入到文件队列中,如果返回false则不会执行此动作。
此事件有三个参数:
event: javascript的event对象
queueID: 选中文件的编号
fileObj: 一个包含文件详细信息的对象。
name – 文件名称
size – 文件的大小(字节)
creationDate – 文件的创建时间
modificationDate – 文件的修改时间
type – 文件的扩展名(包括'.')
onSelectOnce
当执行选中操作时触发此事件,该事件没有默认的处理程序。
此事件有两个参数:
event: javascript的event对象
data: 一个包含选择操作详细信息的对象。
fileCount – 队列中的文件总数
filesSelected – 在选择操作中选中的文件数
filesReplaced – 在队列中被替换的文件数
allBytesTotal – 队列中所有文件的大小(字节)
onCancel
当一个文件上传被取消或在队列中被删除时触发此事件。默认事件将会将此文件的名称从队列中移除,如果返回false则不执行此动作。
此事件有四个参数:
event: javascript的event对象。
queueID: 被取消(移除)的文件的编号
fileObj: 被取消(移除)的文件的详细信息。(见onSelect)
data: 文件队列的详细信息。
fileCount – 在文件队列中剩余的文件的数量
allBytesTotal – 在文件队列中剩余的文件的大小(字节)
onClearQueue
当调用fileUploadClearQueue函数时触发此事件。默认事件会移除文件队列中的所有元素,如果返回false则不执行此动作。
此事件有两个参数:
event: javascript的event对象。
data: 被调用此事件的文件队列的详细信息。
fileCount – 上传队列的文件数
allBytesTotal – 上传队列的兽性大小(字节)
onQueueFull
当队列达到设定的最大值后触发此事件,默认事件会提示用户队列数量。
此事件有两个参数:
event: javascript的event对象。
queueSizeLimit: 队列最大值。
onError
当上传文件发生异常时触发此事件,默认事件会将元素变成红色并提示相应的错误信息。
此事件有四个参数:
event: javascript的event对象。
queueID: 发生错误的元素的唯一编号。
fileObj: 发生错误的元素的文件详细信息。(见onSelect)
errorObj: 发生错误时的错误详细信息。
type – 分别是:'HTTP', 'IO', 'Security'三者之一
info – 错误信息描述
onOpen
当选择一个文件后,Flash文件初始化此文件时触发此事件。没有默认事件。
此事件有三个参数:
event: javascript的event对象。
queueID: 文件的元素的唯一编号。
fileObj: 文件的详细信息。
onProgress
当上传文件时,进度发生改变时触发此事件。默认事件会更新文件队列中的进度条。如果返回false则不执行此动作。
此事件有四个参数:
event: javascript的event对象。
queueID: 文件的元素的唯一编号。
fileObj: 文件的详细信息。
data: 一个关于文件与队列的详细信息的对象。
percentage – 当前文件上传完成的百分比。
bytesLoaded – 当前文件已上传的字节数
allBytesLoaded – 文件的总字节数
speed – 当前上传的速度(KB)
onComplete
当文件上传完成后触发此事件,默认事件会更新文件队列的相关状态。如果返回false则不执行此动作。
此事件有五个参数:
event: javascript的event对象。
queueID: 文件的元素的唯一编号。
fileObj: 文件的详细信息。
response: 从服务器发回的数据。
data: 文件队列的详细信息。
fileCount – 文件队列的文件总数
speed – 文件上传的平均速度(KB)
onAllComplete
当所有文件上传完毕后触发此事件。没有默认事件。
此事件有两个参数:
event: javascript的event对象。
data: 上传过程的详细信息
filesUploaded – 此次上传的文件数量
errors – 上传过程的错误次数
allBytesLoaded – 此次上传的文件总大小(字节)
speed – 此次上传的平均速度(KB)
onCheck
当检查到服务器已存在此文件时触发此事件,默认事件是弹出确认框。
此事件有五个参数:
event: javascript的event对象。
checkScript: 检查文件的后台程序页面。
fileQueue: 一个队列({'唯一编号','文件名称'}的对象。
folder: 上传的路径。
single: 如果为true表示只有一个文件正准备上传至服务器。
·方法
uploadifySettings(setting, value)
用于获取或设置插件的参数。
获取:#(’#someID’).uploadifySettings(’queueSize’);
设置:$(’#someID’).uploadifySettings(’folder’,'/uploads’);
uploadifyUpload([queueID])
用于开始上传一个或所有文件。
示例:$(’#someID’).uploadifyUpload();
uploadifyCancel(queueId)
用于停止上传或队列中取消一个文件。
示例:$(’#someID’).uploadifyCancel(’NFJSHS’);
uploadifyClearQueue()
用于清除当前文件队列中的所有文件。
示例:$(’#someID’).uploadifyClearQueue();