Flash批量文件上传组件

示例程序下载地址

(注:效果图为最新版本的效果图,与本示例效果有所出入)

 

效果图:

 

 

本程序使用方法比较简单,你可以参照示例进行,下面我仅解释一下使用过程中需要由网页传递给本组件的三个参数:

 

1、上传路径

关键字:UploadURL

定义方法:UploadURL=上传路径

 

2、文件类型筛选器

关键字:TypeFilters

定义方法:TypeFilters=文件类型描述

 

文件类型筛选器的描述格式:

自定义的文件类名(文件类型列表)

如果文件类型多于一个相互之间请用半角的“,”隔开。

 

文件类型描述格式:

文件名描述.扩展名

如果文件类别多于一个,相互之间请用半角的 “|”隔开。

 

3、信息公示栏文本

关键字:IllTxt

定义方法:IllTxt=公示文本

 

 

最后,我们给出一个完整的定义示例:

<param name="FlashVars" value="UploadURL=upload.ashx&TypeFilters=Images (*.jpg, *.jpeg, *.gif, *.png)|Text Files (*.txt, *.rtf) &IllTxt=信息公示栏文本"/>

 

本期除了API文档外,再附送《SWFUpload V2_2_0 说明文档.htm》 花生米AJAX-UI系列之:基于JQUERY的文件上传控件0.1版 特点: 可设定为是否单个上传,或者是批量上传; 可在上传过程中取消上传(单个或者批量取消); 在批量选择文件后,可以手工选择上传其中部分文件; 可在上传文件时顺带上传REQUEST传参,如SESSION_ID; 选择批量文件,在上传前,用户还可删除其中几个不想上传的文件; 本控件是对swfUpload这个FLASH插件的二次包装,控件类对象中的一个内部元素即为一个SWFUpload对象,可对其中进行相应的操作(详见附送的SWFUpload V2_2_0 说明文档.htm) 本控件内置一个保存了文件列表信息的数组$fileList,其单元为JSON对象,保存了每个文件的ID,名称,类型,大小等信息; 可自定义按钮显示文字,文件上传的服务器端地址,以及SWF控件相对于当前网页的相对路径 本个控件包是建立在JSP基础上为大家展示上传效的,但实际该控件有用的部分仅在客户端前台;后台代码可以全部推翻,重新用PHP,.NET等其它动态语言编写 使用了本控件后,在后台编写代码时,不必编写实时监控文件上传进度的复杂代码,只用编写简单的处理保存上传文件的代码即可,因为FLASH插件会自动帮助算出上传进度,并实时定时给控件提供进度显示数据,这样就减轻了后台开发人员的工作量; 基于上一点,本控件前台也不会以长轮询方式访问服务器端,以获取文件上传进度情况,而是自己定时计算以上传的字节总数。因此当上传一个文件时,FLASH插件只会发一次传输请求,这样就改善了效率。 由于用FLASH传值时会给服务器造出一个新的SESSION,导致在服务端过滤器作用下可能会上传失败,因此用户可以在上专文件时,利用this.$swfUpload的addPostParam或者setPostParams方法,将原来的SESSION_id作为REQUEST参数传回服务端,服务端过滤器只要根据此SESSION_id判断相应用户是否“登录”即可.\
<script language="JavaScript" type="text/javascript"> 02.function challs_flash_update(){ //Flash 初始化函数 03.var a={}; 04.//定义变量为Object 类型 05. 06.a.FormName = "Filedata"; 07.//设置Form表单的文本域的Name属性 08. 09.a.url="update.asp"; 10.//设置上传接收文件地址 11. 12.a.parameter="bs=tyi&id=50"; 13.//设置提交参数,以GET形式提交 14. 15.a.typefile=["Images (*.gif,*.png,*.jpg)","*.gif;*.png;*.jpg"]; 16.//设置可以上传文件 数组类型 17.//"Images (*.gif,*.png,*.jpg)"为用户选择要上载的文件时可以看到的描述字符串, 18.//"*.gif;*.png;*.jpg"为文件扩展名列表,其中列出用户选择要上载的文件时可以看到的 Windows 文件格式,以分号相隔 19. 20.a.UpSize=0.5; 21.//可限制传输文件总容量,0或负数为不限制,单位MB 22. 23.a.fileNum=4; 24.//可限制待传文件的数量,0或负数为不限制 25. 26.a.size=100; 27.//上传文件限制大小,单位MB,可以填写小数类型 28. 29.a.FormID=['select','select2']; 30.//设置每次上传时将注册了ID的表单数据以POST形式发送到服务器 31.//需要设置的FORM表单中checkbox,text,textarea,radio,select项目的ID值 32.//参数为数组类型,注意使用此参数必须有 challs_flash_FormData() 函数支持 33. 34.a.CompleteClose=true; 35.//设置为true时,上传完成的条目,将也可以取消删除条目,这样参数 UpSize 将失效, 默认为false 36. 37.return a ; 38.//返回Object 39.} 40. 41.function challs_flash_onStart(a){ //每个文件开始上传时调用的函数,并传入一个Object类型变量,包括刚上传文件的大小,名称,文件类型 42.var name=a.fileName //获取上传文件名 43.var size=a.fileSize //获取上传文件大小,单位字节 44.var type=a.fileType //获取上传文件类型,在 Windows 上,此属性是文件扩展名。 在 Macintosh 上,此属性是由四个字符组成的文件类型 45. 46.} 47. 48.function challs_flash_onComplete(a){ //每个文件上传完成时调用的函数,并传入一个Object类型变量,包括刚上传文件的大小,名称,上传所用时间,文件类型 49.var name=a.fileName //获取上传文件名 50.var size=a.fileSize //获取上传文件大小,单位字节 51.var time=a.updateTime //获取上传所用时间 单位毫秒 52.var type=a.fileType //获取上传文件类型,在 Windows 上,此属性是文件扩展名。 在 Macintosh 上,此属性是由四个字符组成的文件类型 53. 54.} 55. 56.function challs_flash_onCompleteData(a){ //获取服务器反馈信息,参数 a 字符类型,包含了服务器返回的文本信息 57. 58.var Data = a; //获取服务器反馈信息 59. 60.} 61. 62.function challs_flash_onCompleteAll(a){ //上传文件列表全部上传完毕事件,参数 a 数值类型,返回上传失败的数量 63. 64.var Num = a; //获取上传失败数量 65. 66.//文件列表已经全部上传完毕 67. 68.} 69. 70.function challs_flash_FormData(a){ // 使用FormID参数时必要函数 71.try{ 72. 73.return document.getElementById(a).value; 74. 75.}catch(e){ 76. 77.return ''; 78. 79.} 80.} 81.</script> FLASH组件调用代码 view source print? 1.<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="408" height="323" id="update_" align="middle"> 2.<param name="allowFullScreen" value="false" /> 3.<param name="allowScriptAccess" value="always" /> 4.<param name="movie" value="update_.swf" /> 5.<param name="quality" value="high" /> 6.<param name="bgcolor" value="#ffffff" /> 7.<embed src="update_.swf" quality="high" bgcolor="#ffffff" width="408" height="323" name="update_" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> 8.</object>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值