SWFUpload-多文件上传手册_第1页
SWFUpload-多文件上传手册_第2页
SWFUpload-多文件上传手册_第3页
SWFUpload-多文件上传手册_第4页
SWFUpload-多文件上传手册_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SWFUpload中文文档地址是: HYPERLINK /doc/swfupload/Documentation.html /doc/swfupload/Documentation.html网官上的DEMO为: HYPERLINK /v220/index.htm /v220/index.htm下载地址: HYPERLINK /p/swfupload/ /p/swfupload/ HYPERLINK / SWFUplooad最初是是由 HYPERLINK http:/www.vinterwebb.se/ Vintterwebbb.se开开发的一个客客户端的上传传工具. 它它结合了FLLASH和J

2、JavaSccript的的功能,以提提供一种超越越了传统的浏浏览器中标标签提供的文文件上传功能能。SWFUplooad提供的的主要功能:在文件选择对话话框中能够进进行文件多选选 页面无刷新的上上传 提供上传进度的的事件回调,实实时显示上传传进度 良好的浏览器兼兼容性 采用了命名空间间以兼容其它它JS的库 (例如 jjQueryy, Proototyppe, 等等等) 对FLASH 9和FLAASH 100播放器的支支持(V2.2.0版本本放弃了对FFlash 8的支持) SWFUplooad背后的的设计思想和和其它基于FFlash的的上传工具是是不同的。它它将浏览器的的中UI交给给开发人员来来

3、控制。开发发人员能够利利用XHTMML,CSSS,Javaascrippt来定制符符合他们网站站风格的UII上传元素。然然后使用它提提供的一组简简单的JS事事件来更新上上传状态,开开发人员能够够利用这些事事件来及时更更新页面中的的上传进度UUI。不幸的是Flaash Pllayer 10 更严严格的安全机机制迫使我们们不得不将一一个Flassh Buttton放入入Flashh影片中。SSWFUplload提供供API供开开发者通过图图片、文字、CCSS的方式式来自定制更更灵活的UII显示。SWFUplooad v22SWFUplooad v22包含了新的的高级功能,改改善了稳定性性,解决了F

4、FlashPPlayerr中的一些bbug,并且且提供一套有有用的插件。新新的功能包括括:兼容了Flassh Plaayer 110的安全限限制问题 在文件上传的同同时能够发送送额外的POOST数据 针对每一个文件件上传发送PPOST/GGET数据 更直观的事件回回调 动态修改实例设设置 接收服务端返回回的数据 非取消形式的停停止文件上传传 自定义上传的顺顺序 支持单文件、多多文件的文件件的选择 文件入队数量,文文件上传数量量和文件大小小的限制 更合理地处理00字节的文件件 针对每个文件在在上传前都提提供一个最后后确认的时间间回调 解决了v1.00.2版本中中未描述到的的关于Flaash的bu

5、ug 解决的v1.00.2中的bbug: 在IE中,刷新新的时候FLLASH无法法加载(详细细可见我之前前的 HYPERLINK /blog/?p=216 o 四个小时的SWFUpload debug之旅 debuug过程) 在FireFoox中,如果果窗口的滚动动条没有回滚滚到顶部,那那么Flassh无法加载载 Race-coonditiions wwhen ffiles are ccachedd 兼容ASP.NNet Foorms SWFUplooad v22 延续了SSWFUplload的设设计目标,将将UI分离以以交给开发人人员控制和后后续扩展概述传统的HTMLL上传标准的HTMLL上

6、传表单为为用户提供一一个文本框和和按钮来选择择文件,选中中的文件是随随着formm表单提交的的。整个文件件上传完成之之后,下一个个页面才会显显示,并且不不能对选择的的文件做预设设的文件检验验,例如文件件大小限制,文文件类型限制制。当文件上上传时,用户户获得的可用用的反馈信息息很少。传统的HTMLL上传模式十十分简单,线线性的,几乎乎所有浏览器器都支持它。SWFUplooadSWFUplooad使用一一个Flassh影片来控控制文件的选选择和上传。此此FLASHH中包含一个个用户自定制制UI的按钮钮,点击该按按钮能够激活活Flashh本身的高级级文件上传对对话框,它能能够根据用户户的设置来进进行

7、单文件或或者是多文件件的上传。 选择的的文文件类型也是是可以被限制制的,因此用用户只能选择择指定的适当当的文件,例例如*.jggp;*.ggif。提醒:Flassh Plaayer 110的安全机机制更严格,类类似打开文件件上传的对话话框的操作,一一定需要用户户交互才触发发,如果用脚脚本触发,会会报#21776的运行时时错误。因此此V2.2.0版本在SSWF中添加加了一个可定定制的Buttton让用用户交互来打打开文件对话话框。当选定文件以后后,每个文件件都会被验证证和处理。当当Flashh上传文件的的时候,由开开发人员预定定义的Javvascriipt事件会会被定时触发发以便来更新新页面中的

8、UUI,同时还还提供上传状状态和错误信信息。选定的文件的上上传和它所在在页面、表单单是独立的。每每个文件都是是单独上传的的,这就保证证了服务端脚脚本能够在一一个时间点更更容易地处理理单个文件。虽虽然Flassh提供了上上传服务,但但是页面并不不会提交或者者重新载入。相相比于标准的的HTML Form,SSWFUplload的使使用方式更像像是AJAXX程序,页面面中的Forrm会和FLLASH控制制的文件上传传单独处理。入门SWFUplooad并不是是拖放式的上上传控件,它它需要JavvaScriipt和DOOM的知识。一一些可用的演演示展示了它它能够完成什什么事情以及及它是如何完完成这些常见

9、见的任务。SWFUplooad由4部部分组成:初始化和设置(Javasscriptt) JavaScrript 库库: SWFFUploaad.js SWFUplload.sswf(V22.2.0版版本放弃了对对flashh 8的支持持) 事件处理(Jaavascrript) 使用SWFUppload遇遇到的多数问问题是由不正正确地设置或或者定义了糟糟糕的处理事事件引起的。初始化和设置SWFploaad必须在页页面中初始化化,一般可以以在winddow.onnload事事件中完成此此操作。它的的构造函数需需要一个Obbject类类型的设置对对象。 这个个设置对象一一般是一个直直接定义的OObj

10、ectt类型变量,直直接传递给SSWFUplload的构构造函数。初始化的SWFFUploaad对象的引引用需要保留留下来,因为为当显示文件件选择对话框框和启动文件件上传的时候候需要这个实实例的引用。例如:用直接定定义的Objject类型型变量设置初初始化SWFFUploaad对象var swffu; window.onloaad = ffunctiion () swfu = new SSWFUplload( upload_url : htttp:/wwww.swwfuplooad.orrg/uplload.pphp, flash_uurl : httpp:/g/swfuuploadd.swf

11、, buttton_pplacehholderr_id : spaanSWFUUploaddButtoon, file_siize_liimit : 204480 ); ; 例如:用存储在在变量中的设设置对象初始始化SWFUUploadd对象var swffu; windoww.onlooad = functtion () vvar seettinggs_objject = uppload_url : htttp:/wwww.swwfuplooad.orrg/uplload.pphp, flashh_url : htttp:/www.sswfuplload.oorg/swwfuplooad.s

12、wwf, bbuttonn_placceholdder_idd : sspanSWWFUplooadButtton, filee_sizee_limiit : 204800 ; swfu = neww SWFUUploadd(setttings_objecct); ; JavaScrript 库库该JavaSccript库库文件(swwfuplooad.jss)应该包含含在需要上传传功能的页面面中。当SWFUplload创建建完成并能访访问它的一系系列功能时,开开发人员可以以来控制此实实例。例如: 添加SSWFUplload.jjs到页面中中 例如: 根据需需要的设置来来初始化SWWFUplo

13、oadvar swffu = nnew SWWFUplooad( uploaad_urll : hhttp:/uuploadd.php, flash_url : htttp:/wwww.swwfuplooad.orrg/swffuploaad.swff, button_placeeholdeer_id : sppanSWFFUploaadButtton ); Flash 控控制元素SWFUplooad JaavaScrript库动动态加载Fllash控制制元素(swwfuplooad.swwf)。Flash控制制元素的文件件地址在初始始化的时候就就应该在SWWFUplooad设置对对象中定义。

14、Flash控制制元素是一个个很小的的FFlash影影片,它提供供了文件浏览览、检验和上上传功能。它它在页面中展展现给用户的的是一个UII可自定制的的按钮,但该该Flashh会在需要时时候通过与JJavasccript通通信来通知浏浏览器处理更更新。事件处理开发人员必须定定义一系列JJavaSccript函函数来处理SSWFUplload事件件回调,当一一些不同的重重要事件发生生的时候,这这些函数会被被触发。通过处理SWFFUploaad的事件,开开发人员能够够提供关于上上传进度、出出错信息以及及上传完成等等的信息反馈馈。例如: swffuploaad的处理事事件和初始化化/ uplooadSt

15、aart处理事事件。该函数数变量在设置置对象中指定定给了uplload_sstart_handller属性。 var uplloadSttartEvventHaandlerr = fuunctioon (fiile) var contiinue_wwith_uuploadd; if (e = the sky iis bluue) conttinue_with_uploaad = ttrue; elsse ccontinnue_wiith_uppload = fallse; retuurn coontinuue_witth_uplload; ; /uploaadSucccess处理理事件。 该该

16、函数变量在在设置对象中中指定给了uuploadd_succcess_hhandleer属性。 var uuploaddSucceessEveentHanndler = funnctionn (fille, seerver_data) allert(The ffile + fiile.naame + hass beenn deliiveredd to tthe seerver.); aalert(The serveer resspondeed witth + servver_daata); ; /创建SWFFUploaad实例,设设置事件回调调函数 vaar swffu = nnew SWWFU

17、plooad( uploaad_urll : hhttp:/uuploadd.php, flaash_urrl : http:/swfuppload.swf, filee_sizee_limiit : 204800, uppload_startt_handdler : uplooadStaartEveentHanndler, uplooad_suuccesss_handdler : uplooadSucccessEEventHHandleer ); SWFUplooad JaavaScrript 对对象构造函数SWFUplooad(seettinggs objject)返回:一个SWWFUpl

18、ooad 实例例var swffuploaad_insstancee = neew SWFFUploaad(setttingss_objeect); 全局变量和常量量SWFUplooad定义了了一些全局变变量和常量,这这对SWFUUploadd的高级应用用程序和处理理错误都是很很有用的,它它们都是只读读的。SWFUplooad.innstanccesSWFUplooad.innstancces是一个个存储了页面面中所有SWWFUplooad实例引引用的数组。FFlash播播放器依靠这这个数组来调调用正确的处处理事件。该该数组是由mmovieNName属性性来索引的关关联数组。例例如:SWFFU

19、ploaad.insstancees.SWFFUploaad_0访问问的是第一个个实例引用。注意: SWFFUploaad.insstancees不是一个个真正的JaavaScrript数组组,实际上它它是一个对象象(关联数组组)。SWFUplooad.moovieCoountSWFUpoaad.movvieCouunt是一个个全局变量,用用于记录页面面中的SWFFUploaad实例个数数,同时确保保给每一个FFlash影影片分配一个个惟一的moovieNaame。SWFUplooad.QUUEUE_EERRORSWFUplooad.QUUEUE_EERROR是是一个包含了了Queuee Er

20、roor错误码的的JS对象,一一般用它来查查看fileeQueueeErrorr事件的中发发送的错误码码,以确定ffileQuueueErrror的具具体类型。SWFUplooad.QUUEUE_EERROR = QQUEUE_LIMITT_EXCEEEDED : -1000, FIILE_EXXCEEDSS_SIZEE_LIMIIT : -110, ZERO_BYTE_FILE : -1220, INNVALIDD_FILEETYPE : -1330 ; SWFUplooad.UPPLOAD_ERRORRSWFUplooad.UPPLOAD_ERRORR是一个包含含了Uplooad Errr

21、or错误误码的JS对对象,一般用用它来查看uuploaddErrorr事件的中发发送的错误码码,以确定uuploaddErrorr的具体类型型。SWFUplooad.UPPLOAD_ERRORR = HTTP_ERRORR : -2200, MMISSINNG_UPLLOAD_UURL : -210, IO_EERROR : -2220, SEECURITTY_ERRROR : -230, UPLOOAD_LIIMIT_EEXCEEDDED : -240, UPLOOAD_FAAILED : -2550, SPPECIFIIED_FIILE_IDD_NOT_FOUNDD : -2260, FF

22、ILE_VVALIDAATION_FAILEED : -270, FILE_CANCEELLED : -2880, UPPLOAD_STOPPPED : -290 ; SWFUplooad.FIILE_STTATUSSWFUplooad.FIILE_STTATUS是是一个包含FFile SStatuss状态码的JJS对象。它它可以用来检检测Filee对象中的ffile sstatuss属性,以确确定文件的状状态。SWFUplooad.FIILE_STTATUS = QQUEUEDD : -11, IN_PROGRRESS : -2, ERRORR : -33, SUCCCESS : -4, C

23、ANCCELLEDD : -55 ; 默认处理事件SWFUplooad库提供供了一系列默默认的处理事事件。当开发发人员没有自自定义处理事事件时,SWWFUplooad库将调调用这些默认认的处理事件件。因此当自自定义事件时时,不要把这这些默认的处处理事件覆盖盖了。自定义义事件是需要要在setttings对对象中被单独独定义的。SWFUplooad.BUUTTON_ACTIOONSWFUplooad.BUUTTON_ACTIOON是一个包包含buttton的动作作预设的JSS对象。SWFUplooad.BUUTTON_ACTIOON = SELEECT_FIILE : -100, SELEECT_

24、FIILES : -1100, STAART_UPPLOAD : -1220 可以使用buttton_aactionn属性来设置置Flashh本身的文件件上传对话框框的行为。默默认为SWFFUploaad.BUTTTON_AACTIONN.SELEECT_FIILES,点点击按钮将会会打开多文件件上传的对话话框。如果设设置为SWFFUploaad.BUTTTON_AACTIONN.SELEECT_FIILE,则为为单文件上传传。如果设置置为SWFUUploadd.BUTTTON_ACCTION.STARTT_UPLOOAD,则启启动文件上传传SWFUplooad.CUURSORSWFUploo

25、ad.CUURSOR是是一个包含bbuttonn的光标状态态码的JS对对象。SWFUplooad.CUURSOR = AARROW : -1, HANDD : -22 可以使用buttton_ccursorr属性来设置置鼠标划过bbuttonn时的光标状状态。默认为为SWFUppload.CURSOOR.ARRROW,如果果设置为SWWFUplooad.CUURSOR.HAND,则则为手形SWFUplooad.WIINDOW_MODESWFUplooad.WIINDOW_MODE是是一个包含了了该SWF插插入到页面中中的wmodde属性的JJS对象.可可以通过设置置buttoon_winndo

26、w_mmode属性性来告诉浏览览器具体以哪哪种模式显示示此SWF。SWFUplooad.WIINDOW_MODE = WWINDOWW : wwindoww, TRRANSPAARENT : trranspaarent, OPAAQUE : opaaque ; SWFUplooad.WIINDOW_MODE.WINDOOW是默认的的模式. 该该SWF将位位于页面元素素的最高层级级。SWFUplooad.WIINDOW_MODE.OPAQUUE该SWWF可以被页页面类的其他他元素通过层层级的设置来来覆盖它。SWFUplooad.WIINDOW_MODE.TRANSSPARENNT 该SWWF的背

27、景是是透明的,可可以透过它看看到背后的页页面元素。属性下面这个列表是是相关属性的的具体描述。使使用其它属性性或者对只读读属性进行了了写的操作都都会造成SWWFUplooad出现问问题。customSSettinngs (可可读/可写)customSSettinngs属性是是一个空的JJavaSccript对对象,它被用用来存储跟SSWFUplload实例例相关联的数数据。它的内内容可以使用用设置对象中中的custtom_seettinggs属性来初初始化。注意:一些插件件使用cusstomSeettinggs对象来实实现它们的内内部控制。当当重写整个ccustommSettiings对象象的时

28、候需要要务必小心。例如:/ 初始化包包含自定义设设置的SWFFUploaad对象 vvar swwfu = new SSWFUplload( custtom_seettinggs : custtom_seettingg_1 : custtom_seettingg_valuue_1, custtom_seettingg_2 : custtom_seettingg_valuue_2, custtom_seettingg_n : custtom_seettingg_valuue_n, ); swffu.cusstomSeettinggs.cusstom_ssettinng_1 = cusstom_s

29、settinng_vallue_1; / 更改一个存存在的自定义义设置 swwfu.cuustomSSettinngs.myyNewCuustomSSettinng = new ccustomm settting vvalue; / 添加一个新新的自定义设设置 /用用一个全新的的对象重写ccustommSettiings sswfu.ccustommSettiings = cuustom_settiing_A : cuustom_settiing_vaalue_AA, cuustom_settiing_B : cuustom_settiing_vaalue_BB ; movieNaame(只读

30、读)包含了该SWFFUploaad实例的惟惟一影片名字字。该值被传传递给Flaash,用来来完成Flaash和JaavaScrript的通通信。该值被被用来索引实实例在SWFFUploaad.insstancees数组中的的位置,你无无法更改此值值。方法下面的方法用来来操作SWFFUploaad。其中有有些方法可以以跟元素(例例如,按钮)的的点击事件绑绑定,其它的的方法供SWWFUplooad内部处处理事件中调调用。object addSeettingg(settting_nname, valuee, defaault_vvalue)不赞成使用VV2.1.00源码中注释释:addSSettin

31、ng和gettSettiing已经不不再被使用了了,只是考虑虑到兼容V22版本,才继继续保留在库库中。object getSeettingg(settting_nname)不赞成使用VV2.1.00源码中注释释:addSSettinng和gettSettiing已经不不再被使用了了,只是考虑虑到兼容V22版本,才继继续保留在库库中。object retriieveSeettingg(settting_vvalue, defaault_vvalue)v2.1.0中中已被删除bool deestroyy()v2.1.0中中新增用于将一个SWWFUplooad实例从从页面中销毁毁。不但删除除DOM中

32、的的Flashh元素,同时时还删除SWWFUplooad实例的的相关引用。成成功返回trrue,失败败返回fallse。这个方法还没有有针对插件做做兼容测试,可可能会有不兼兼容问题。(尤尤其是SWFFObjecct插件)提醒:SWFUUploadd在v2.11.0中改写写了Flassh插入的代代码,V2版版中使用SWWFObjeect插入FFlash会会造成IE的的一个 HYPERLINK /blog/?p=216 刷新BBUG。void diisplayyDebuggInfo()调用debugg方法,在DDebug输输出框中显示示SWFUppload实实例的设置信信息,如果设设置中的deeb

33、ug属性性是truee,那么默认认是在实例化化完成以后自自动调用此方方法。void seelectFFile()不赞成使用,不不兼容Flaash Pllayer 10弹出flashh的文件选择择对话框,只只能选择单个个文件。提醒:Flassh Plaayer 110的安全机机制更严格,类类似打开文件件上传的对话话框的操作,一一定需要用户户交互才触发发,如果用脚脚本触发,会会报#21776的运行时时错误。因此此V2.2.0版本在SSWF中添加加了一个可定定制的Buttton让用用户交互来打打开文件对话话框。void seelectFFiles()不赞成使用,不不兼容Flaash Pllayer

34、10弹出flashh的文件选择择对话框,可可一次性选择择多个文件。提醒:Flassh Plaayer 110的安全机机制更严格,类类似打开文件件上传的对话话框的操作,一一定需要用户户交互才触发发,如果用脚脚本触发,会会报#21776的运行时时错误。因此此V2.2.0版本在SSWF中添加加了一个可定定制的Buttton让用用户交互来打打开文件对话话框。void sttartUppload(file_id)指定file_id来启动动该文件的上上传,如果ffile_iid被忽略了了,那么默认认开始上传第第一个文件。void caancelUUploadd(filee_id, triggger_err

35、ror_eevent)指定file_id来退出出文件的上传传,从上传队队列中删除该该文件。如果忽略fille_id,那那么默认文件件上传队列中中的第一个文文件将被退出出上传。如果取消的文件件是正在上传传,那么会触触发uplooadErrror事件。如果将可选参数数triggger_errror_eevent设设置为fallse,那么么uploaadErroor事件不会会触发。void sttopUplload()如果当前有文件件上传,那么么停止上传,并并且将文件还还原到上传队队列中。停止了正在上传传的文件,uuploaddErrorr事件会被触触发。如果此此时没有正在在上传文件,那那么不会发生

36、生任何操作,不不会触发任何何事件。object getSttats()获取当前状态的的统计对象,具具体见 HYPERLINK /doc/swfupload/Documentation.html#statsobject l statsobject Staats Obbject。void seetStatts(staats_obbject)Stats统计计对象是可以以被修改的。如如果你希望在在上传完毕之之后修改上传传成功或者上上传失败的统统计数目时,那那么可以使用用该方法。提醒:可供修改改的属性只有有succeessfull_uplooads ,uuploadd_erroors,uppload_c

37、anceelled,qqueue_errorrs,并且值值必须是Nuumber类类型。object getFiile(fiile_idd|indexx)根据file_id或者iindex来来获取文件队队列中的 HYPERLINK /doc/swfupload/Documentation.html#fileobject l fileobject 文件件对象。fiile_idd是文件对象象中的id属属性,inddex是文件件对象中的iindex属属性。传递Numbeer类型的参参数会被认定定为indeex,那么返返回的是文件件队列(所有有尝试入队文文件,包括因因没有通过文文件大小、类类型检测等而而

38、触发filleQueuueErroor,没有成成功加入文件件上传队列的的文件对象)数数组中下标为为indexx的文件对象象。如果inndex不在在队列数组范范围内,那么么返回nulll。传递非Numbber类型的的参数会被认认定为fille_id,那那么返回的是是文件上传队队列(通过文文件检测,准准备好进行上上传的文件)数数组中id为为file_id的文件件对象。如果果参数为空,或或者没有此iid的文件对对象,那么返返回文件等待待队列中的第第一个文件对对象,如果第第一个文件对对象为空,那那么返回nuull。void adddPosttParamm(namee, valuue)给设置中的poos

39、t_paarams对对象添加值对对,当文件上上传的时候,这这个值对会一一同在POSST中发送。如果设置的时候候,postt_paraams中以及及存在该值,那那么实际上会会被覆盖。提醒:SWFUUload存存在 HYPERLINK /blog/?p=256 Cookkie buug,你可以以使用此方法法避免。void reemovePPostPaaram(nname)从设置中的poost_paarams对对象中删除nname指定定的属性,当当文件上传的的时候,删除除的值对不会会继续在POOST中发送送。bool adddFileeParamm(filee_id, name, valuee)为指

40、定filee_id的特特定文件对象象添加POSST值对,如如果添加的nname属性性已经存在,那那么原值会被被覆盖。如果需要给所有有文件对象添添加POSTT值,那么可可以使用设置置中的posst_parrams属性性。bool reemoveFFilePaaram(ffile_iid, namee)删除由addFFilePaaram添加加的POSTT值对.如果POST设设置中没有此此属性,那么么返回fallse。void seetUplooadURLL(url)动态修改设置中中的uplooad_urrl属性。void seetPosttParamms(parram_obbject)动态修改po

41、sst_parrams,以以前的属性全全部被覆盖。pparam_objecct必须是一一个JavaaScrippt的基本对对象,所有属属性和值都必必须是字符串串类型。void seetFileeTypess(typees, desccriptiion)动态修改设置中中的filee_typees 和 ffile_ttypes_descrriptioon,两个参参数都是必须须的。void seetFileeSizeLLimit(file_size_limitt)动态修改设置中中的filee_sizee_limiit,此修改改针对之后的的文件大小过过滤有效。ffile_ssize_llimit参参数

42、接收一个个单位,有效效的单位有BB、KB、MMB、GB,默默认单位是KKB。例如: 214474836648 B, 20977152, 20971152KB, 20488 MB, 2 GBvoid seetFileeUploaadLimiit(fille_uplload_llimit)动态修改设置中中的filee_uplooad_liimit,特特殊值0表示示无限制。提醒:这里限制制的是一个SSWFUplload实例例控制上传成成功的文件总总数。void seetFileeQueueeLimitt(filee_queuue_limmit)动态修改设置中中的filee_queuue_limmit

43、,特殊殊值0表示无无限制。提醒:这里限制制的是文件上上传队列中(入入队检测通过过的文件会添添加到上传队队列等待上传传)允许排队队的文件总数数。void seetFileePostNName(ffile_ppost_nname)动态修改设置中中的filee_postt_namee,注意在LLinux环环境下,FllashPllayer是是忽略此设置置的。void seetUseQQuerySStringg(use_queryy_striing)动态修改设置中中的use_queryy_striing,设置置为truee的时候,SSWFUplload以GGET形式发发送数据,如如果为fallse,那

44、么么就以POSST发送数据据。void seetDebuugEnabbled(ddebug_enablled)启动/禁止 ddebug输输出,debbug_ennabledd参数是一个个布尔值。void seetButttonImaageURLL(url)动态修改按钮的的图片。urrl参数是相相对于该swwf文件或者者是绝对地址址的图片(或或者是SWFF)。所有FFLASH支支持的图片类类型都可以使使用(giff,jpg,png,或或者是一个SSWF)。该按钮图片需要要经过一定规规则(CSSS Spriite)的处处理。按钮图图片中需要包包括按钮的44个状态,从从上到下依次次是normmal,

45、 hhover, downn/clicck, diisableed.(可以以参照官方ddemo中的的图片)void seetButttonDimmensioons(wiidth, heighht)动态修改SWFF影片的尺寸寸以适应Buutton的的图片大小。void seetButttonTexxt(texxt)动态设置Flaash Buutton中中显示的文字字,支持HTTML。HTTML文本的的样式可以通通过CSS选选择器并配合合setBuuttonTTextSttyle方法法来设置。关关于Flassh文本对HHTML的支支持详细可见见 HYPERLINK /flash/9.0/Actio

46、nScriptLangRefV3/flash/text/TextField.html#htmlText l htmlText Adobbes FFlash docummentattion。void seetButttonTexxtStylle(csss_stylle_texxt)配合setBuuttonTText方法法,可以通过过CSS样式式来动态设置置Flashh Buttton中的文文字样式。关关于Flassh文本对CCSS的支持持详细可见 HYPERLINK /flash/9.0/ActionScriptLangRefV3/flash/text/StyleSheet.html AAdob

47、es Flaash doocumenntatioonvoid seetButttonTexxtPaddding(lleft, top)Sets thhe topp and left paddiing off the Flashh buttton teext. TThe vaalues may bbe neggativee.void seetButttonDissabledd(isDiisableed)When ttrue changges thhe Flaash Buutton statee to ddisablled annd ignnores any cclickss.void seetB

48、utttonActtion(bbuttonnActioon)Sets thhe acttion ttaken when the FFlash buttoon is clickked. VValid actioon vallues aare taaken ffrom tthe BUUTTON_ACTIOON connstantts.void seetButttonCurrsor(bbuttonnCursoor)Sets thhe mouuse cuursor shownn whenn hoveering over the FFlash buttoon. Vaalid ccursorr valuu

49、es arre takken frrom thhe BUTTTON_CCURSORR consstantss.事件SWFUplooad在操作作过程中会触触发一系列事事件,开发者者可以利用这这些回调的处处理事件来控控制UI,控控制操作或者者报告错误。所有的事件都是是在SWFUUploadd实例的上下下文中调用的的,因此在这这些回调的事事件中使用tthis能够够直接访问到到该触发该事事件的实例对对象。所有事件应该在在实例初始化化时settting参数数中预设完成成。flashReeady()该事件函数是内内部事件,因因此不能被重重写。当SWWFuplooad实例化化,加载的FFLASH完完成所有初

50、始始化操作时触触发此事件。提醒:对应设置置中的自定义义事件swffuploaad_loaaded_hhandleerswfUplooadLoaaded()V2.1.0版版本中已经删删除了此事件件fileDiaalogSttart()此事件在sellectFiile或者sselecttFiless调用后,文文件选择对话话框显示之前前触发。只能能同时存在一一个文件对话话框。提醒:对应设置置中的自定义义事件fille_diaalog_sstart_handllerfileQueeued(ffile oobjectt)当文件选择对话话框关闭消失失时,如果选选择的文件成成功加入上传传队列,那么么针对每个

51、成成功加入的文文件都会触发发一次该事件件(N个文件件成功加入队队列,就触发发N次此事件件)。提醒:对应设置置中的自定义义事件fille_queeued_hhandleerfileQueeueErrror(fiile obbject, erroor codde, messsage)当选择文件对话话框关闭消失失时,如果选选择的文件加加入到上传队队列中失败,那那么针对每个个出错的文件件都会触发一一次该事件(此事件和ffileQuueued事事件是二选一一触发,文件件添加到队列列只有两种可可能,成功和和失败)。文件添加队列出出错的原因可可能有:超过过了上传大小小限制,文件件为零字节,超超过文件队列列数

52、量限制,设设置之外的无无效文件类型型。具体的出错原因因可由errror coode参数来来获取,errror ccode的类类型可以查看看 HYPERLINK /doc/swfupload/Documentation.html#queue_error l queue_error SWFUppload.QUEUEE_ERROOR中的定义义。提醒:对应设置置中的自定义义事件fille_queeue_errror_hhandleer注意:如果选择择入队的文件件数量超出了了设置中的数数量限制,那那么所有文件件都不入队,此此事件只触发发一次。如果果没有超出数数目限制,那那么会对每个个文件进行文文件类型和

53、大大小的检测,对对于不通过的的文件触发此此事件,通过过的文件成功功入队。fileDiaalogCoomplette(nummber oof filles seelecteed, numbber off filees queeued)当选择文件对话话框关闭,并并且所有选择择文件已经处处理完成(加加入上传队列列成功或者失失败)时,此此事件被触发发,numbber off filees sellectedd是选择的文文件数目,nnumberr of ffiles queueed是此次选选择的文件中中成功加入队队列的文件数数目。提醒:对应设置置中的自定义义事件fille_diaalog_ccomple

54、ete_haandlerr注意:如果你希希望文件在选选择以后自动动上传,那么么在这个事件件中调用thhis.sttartUppload() 是一个个不错的选择择。如果需要要更严格的判判断,在调用用上传之前,可可以对入队文文件的个数做做一个判断,如如果大于0,那那么可以开始始上传。uploadSStart(file objecct)在文件往服务端端上传之前触触发此事件,可可以在这里完完成上传前的的最后验证以以及其他你需需要的操作,例例如添加、修修改、删除ppost数据据等。在完成最后的操操作以后,如如果函数返回回falsee,那么这个个上传不会被被启动,并且且触发uplloadErrror事件件

55、(codee为ERROOR_CODDE_FILLE_VALLIDATIION_FAAILED),如如果返回trrue或者无无返回,那么么将正式启动动上传。提醒:对应设置置中的自定义义事件uplload_sstart_handlleruploadPProgreess(fiile obbject, bytees commpletee, totaal byttes)该事件由flaash定时触触发,提供三三个参数分别别访问上传文文件对象、已已上传的字节节数,总共的的字节数。因因此可以在这这个事件中来来定时更新页页面中的UII元素,以达达到及时显示示上传进度的的效果。注意: 在Liinux下,FFlas

56、h Playeer只在所有有文件上传完完毕以后才触触发一次该事事件,官方指指出这是Liinux FFlash Playeer的一个bbug,目前前SWFplload库无无法解决(我我没有测试过过)。提醒:对应设置置中的自定义义事件uplload_pprogreess_haandlerruploadEError(file objecct, erroor codde, messsage)无论什么时候,只只要上传被终终止或者没有有成功完成,那那么该事件都都将被触发。eerror code参参数表示了当当前错误的类类型,更具体体的错误类型型可以参见 HYPERLINK /doc/swfupload/D

57、ocumentation.html#upload_error l upload_error SSWFUplload.UUPLOADD_ERROOR中的定义义。Messsage参数数表示的是错错误的描述。FFile参数数表示的是上上传失败的文文件对象。例如,我们请求求一个服务端端的一个不存存在的文件处处理页面,那那么erroor codde会是-2200,meessagee会是4044。停止、退退出、uplloadSttart返回回falsee、HTTPP错误、IOO错误、文件件上传数目超超过限制等,都都将触发该事事件,Uplload eerror will not ffire ffor fii

58、les tthat aare caancellled buut stiill waaitingg in tthe quueue。(对对于官方的这这句话我还存存在疑问,文文件退出以后后怎么还会保保留在文件上上传队列中保保留呢?)提醒:对应设置置中的自定义义事件uplload_eerror_handller注意:此时文件件上传的周期期还没有结束束,不能在这这里开始下一一个文件的上上传。uploadSSuccesss(fille objject, serveer datta)当文件上传的处处理已经完成成(这里的完完成只是指向向目标处理程程序发送了FFiles信信息,只管发发,不管是否否成功接收),并

59、并且服务端返返回了2000的HTTPP状态时,触触发此事件。提醒:对应设置置中的自定义义事件uplload_ssuccesss_hanndler注意: server data是是服务端处理理程序返回的的数据。 此时文件上传的的周期还没有有结束,不能能在这里开始始下一个文件件的上传。 在windoww平台下,那那么服务端的的处理程序在在处理完文件件存储以后,必必须返回一个个非空值,否否则此事件不不会被触发,随随后的uplloadCoomplette事件也无无法执行。 uploadCCompleete(fiile obbject)当上传队列中的的一个文件完完成了一个上上传周期,无无论是成功(uol

60、oaadSucccess触发发)还是失败败(uplooadErrror触发),此事件都都会被触发,这这也标志着一一个文件的上上传完成,可可以进行下一一个文件的上上传了。如果要进行多文文件自动上传传,那么在这这个时候调用用this.starttUploaad()来启启动下一个文文件的上传是是不错的选择择。提醒:对应设置置中的自定义义事件uplload_ccompleete_haandlerr注意:当在进行行多文件上传传的时候,中中途用canncelUppload取取消了正在上上传的文件,或或者用stoopUplooad停止了了正在上传的的文件,那么么在uplooadCommpletee中就要很小

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论