要写一个上传文件插件,本来想自己写来着。可是又考虑到各大浏览器兼容问题,汗!!所以就想到了jq这个可爱的孩子。功夫不负有心人总算找到了这个插件!!名曰:uplodify!!!

 

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();

我简单的试了一下感觉不错,呵呵!!

所以啊,我们程序员要学会偷懒,学会开辟那些新的领域!!在摸索中前进,在前进中摸索!!要自信,别把程序看的很难,再难的程序也是人写出来的!!加油,我们这些菜鸟级的经典人物早晚回成为老鸟!!古董级人物的!!come on!!!