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

下载本文档

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

文档简介

1、SWFUpploadd中文文档地地址是: HYPERLINK /doc/swfupload/Documentation.html hhttp:/doc/swfuuploaad/Doocumeentattion.htmll网官上的的DEMOO为: HYPERLINK /v220/index.htm htttp:/v2200/inddex.hhtm下载地址: HYPERLINK /p/swfupload/ httpp:/ccode.googgle.ccom/pp/swffuplooad/ HYPERLINK / SWFUpploadd最初是由由 HYPERLINK http:/www.vinter

2、webb.se/ Vintterweebb.sse开发的的一个客户户端的上传传工具. 它结合了了FLASSH和JaavaSccriptt的功能,以以提供一种种超越了传传统的浏览览器中标标签提供的的文件上传传功能。SWFUpploadd提供的主主要功能:在文件选择择对话框中中能够进行行文件多选选 页面无刷新新的上传 提供上传进进度的事件件回调,实实时显示上上传进度 良好的浏览览器兼容性性 采用了命名名空间以兼兼容其它JJS的库 (例如 jQueery, Prottotyppe, 等等等) 对FLASSH 9和和FLASSH 100播放器的的支持(VV2.2.0版本放放弃了对FFlashh 8的支

3、支持) SWFUpploadd背后的设设计思想和和其它基于于Flassh的上传传工具是不不同的。它它将浏览器器的中UII交给开发发人员来控控制。开发发人员能够够利用XHHTML,CSS,Javaascriipt来定定制符合他他们网站风风格的UII上传元素素。然后使使用它提供供的一组简简单的JSS事件来更更新上传状状态,开发发人员能够够利用这些些事件来及及时更新页页面中的上上传进度UUI。不幸的是FFlashh Plaayer 10 更更严格的安安全机制迫迫使我们不不得不将一一个Flaash BButtoon放入FFlashh影片中。SWFUUploaad提供AAPI供开开发者通过过图片、文文字

4、、CSSS的方式式来自定制制更灵活的的UI显示示。SWFUpploadd v2SWFUpploadd v2包包含了新的的高级功能能,改善了了稳定性,解解决了FllashPPlayeer中的一一些bugg,并且提提供一套有有用的插件件。新的功功能包括:兼容了Fllash Playyer 110的安全全限制问题题 在文件上传传的同时能能够发送额额外的POOST数据据 针对每一个个文件上传传发送POOST/GGET数据据 更直观的事事件回调 动态修改实实例设置 接收服务端端返回的数数据 非取消形式式的停止文文件上传 自定义上传传的顺序 支持单文件件、多文件件的文件的的选择 文件入队数数量,文件件上传

5、数量量和文件大大小的限制制 更合理地处处理0字节节的文件 针对每个文文件在上传传前都提供供一个最后后确认的时时间回调 解决了v11.0.22版本中未未描述到的的关于Fllash的的bug 解决的v11.0.22中的buug: 在IE中,刷刷新的时候候FLASSH无法加加载(详细细可见我之之前的 HYPERLINK /blog/?p=216 o 四个小时的SWFUpload debug之旅 deebug过过程) 在FireeFox中中,如果窗窗口的滚动动条没有回回滚到顶部部,那么FFlashh无法加载载 Race-condditioons wwhen filees arre caachedd 兼

6、容ASPP.Nett Forrms SWFUpploadd v2 延续了SSWFUpploadd的设计目目标,将UUI分离以以交给开发发人员控制制和后续扩扩展概述传统的HTTML上传传标准的HTTML上传传表单为用用户提供一一个文本框框和按钮来来选择文件件,选中的的文件是随随着forrm表单提提交的。整整个文件上上传完成之之后,下一一个页面才才会显示,并并且不能对对选择的文文件做预设设的文件检检验,例如如文件大小小限制,文文件类型限限制。当文文件上传时时,用户获获得的可用用的反馈信信息很少。传统的HTTML上传传模式十分分简单,线线性的,几几乎所有浏浏览器都支支持它。SWFUpploaddSW

7、FUpploadd使用一个个Flassh影片来来控制文件件的选择和和上传。此此FLASSH中包含含一个用户户自定制UUI的按钮钮,点击该该按钮能够够激活Fllash本本身的高级级文件上传传对话框,它它能够根据据用户的设设置来进行行单文件或或者是多文文件的上传传。 选择择的的文件件类型也是是可以被限限制的,因因此用户只只能选择指指定的适当当的文件,例例如*.jjgp;*.giff。提醒:Fllash Playyer 110的安全全机制更严严格,类似似打开文件件上传的对对话框的操操作,一定定需要用户户交互才触触发,如果果用脚本触触发,会报报#21776的运行行时错误。因此V22.2.00版本在SS

8、WF中添添加了一个个可定制的的Buttton让用用户交互来来打开文件件对话框。当选定文件件以后,每每个文件都都会被验证证和处理。当Flaash上传传文件的时时候,由开开发人员预预定义的JJavasscrippt事件会会被定时触触发以便来来更新页面面中的UII,同时还还提供上传传状态和错错误信息。选定的文件件的上传和和它所在页页面、表单单是独立的的。每个文文件都是单单独上传的的,这就保保证了服务务端脚本能能够在一个个时间点更更容易地处处理单个文文件。虽然然Flassh提供了了上传服务务,但是页页面并不会会提交或者者重新载入入。相比于于标准的HHTML Formm,SWFFUplooad的使使用方

9、式更更像是AJJAX程序序,页面中中的Forrm会和FFLASHH控制的文文件上传单单独处理。入门SWFUpploadd并不是拖拖放式的上上传控件,它它需要JaavaSccriptt和DOMM的知识。一些可用用的演示展展示了它能能够完成什什么事情以以及它是如如何完成这这些常见的的任务。SWFUpploadd由4部分分组成:初始化和设设置(Jaavasccriptt) JavaSScrippt 库: SWFFUplooad.jjs SWFUUploaad.swwf(V22.2.00版本放弃弃了对fllash 8的支持持) 事件处理(Javaascriipt) 使用SWFFUplooad遇到到的多

10、数问问题是由不不正确地设设置或者定定义了糟糕糕的处理事事件引起的的。初始化和设设置SWFplload必必须在页面面中初始化化,一般可可以在wiindoww.onlload事事件中完成成此操作。它的构造造函数需要要一个Obbjectt类型的设设置对象。 这个设设置对象一一般是一个个直接定义义的Objject类类型变量,直直接传递给给SWFUUploaad的构造造函数。初始化的SSWFUpploadd对象的引引用需要保保留下来,因因为当显示示文件选择择对话框和和启动文件件上传的时时候需要这这个实例的的引用。例如:用直直接定义的的Objeect类型型变量设置置初始化SSWFUpploadd对象var

11、 sswfu; windoow.onnloadd = ffuncttion () swfu = neew SWWFUplload( uploaad_urrl : htttp:/www.swfuuploaad.orrg/upploadd.phpp, flashh_urll : httpp:/g/swffuplooad.sswf, buttton_placcehollder_id : sppanSWWFUplloadBButtoon, file_sizee_limmit : 200480 ); ; 例如:用存存储在变量量中的设置置对象初始始化SWFFUplooad对象象var sswfu; win

12、ddow.oonloaad = funcctionn () vaar seettinngs_oobjecct = upploadd_urll : httpp:/g/uplload.php, fllash_url : hhttp:/swfuuploaad.swwf, buttton_pplaceeholdder_iid : spaanSWFFUplooadBuuttonn, ffile_sizee_limmit : 200480 ; swfuu = nnew SSWFUpploadd(setttinggs_obbjectt); ; JavaSScrippt 库该JavaaScriipt库文文件(

13、swwfuplload.js)应应该包含在在需要上传传功能的页页面中。当SWFUUploaad创建完完成并能访访问它的一一系列功能能时,开发发人员可以以来控制此此实例。例如: 添添加SWFFUplooad.jjs到页面面中 例如: 根根据需要的的设置来初初始化SWWFUplloadvar sswfu = neew SWWFUplload( upploadd_urll : httpp:/g/uplload.php, flassh_urrl : htttp:/www.swfuuploaad.orrg/swwfuplload.swf, buttoon_pllacehholdeer_idd : spa

14、nnSWFUUploaadButtton ); Flashh 控制元元素SWFUpploadd JavvaScrript库库动态加载载Flassh控制元元素(swwfuplload.swf)。Flashh控制元素素的文件地地址在初始始化的时候候就应该在在SWFUUploaad设置对对象中定义义。Flashh控制元素素是一个很很小的的FFlashh影片,它它提供了文文件浏览、检验和上上传功能。它在页面面中展现给给用户的是是一个UII可自定制制的按钮,但但该Flaash会在在需要时候候通过与JJavasscrippt通信来来通知浏览览器处理更更新。事件处理开发人员必必须定义一一系列JaavaScc

15、riptt函数来处处理SWFFUplooad事件件回调,当当一些不同同的重要事事件发生的的时候,这这些函数会会被触发。通过处理SSWFUpploadd的事件,开开发人员能能够提供关关于上传进进度、出错错信息以及及上传完成成等的信息息反馈。例如: sswfupploadd的处理事事件和初始始化/ upploaddStarrt处理事事件。该函函数变量在在设置对象象中指定给给了uplload_starrt_haandleer属性。 var uuploaadStaartEvventHHandller = funnctioon (ffile) vvar ccontiinue_withh_uplload;

16、 if (fille.naame = the sky is bblue) conttinuee_witth_upploadd = ttrue; eelse coontinnue_wwith_uplooad = fallse; reeturnn conntinuue_wiith_uuploaad; ; /uplloadSSucceess处理理事件。 该函数变变量在设置置对象中指指定给了uuploaad_suuccesss_haandleer属性。 varr uplloadSSucceessEvventHHandller = funnctioon (ffile, serrver_dataa) al

17、errt(TThe ffile + filee.namme + haas beeen ddelivveredd to the servver.); aalertt(Thhe seerverr resspondded wwith + servver_ddata); ; /创建SSWFUpploadd实例,设设置事件回回调函数 var swfuu = nnew SSWFUpploadd( uuploaad_urrl : htttp:/www.swfuuploaad.orrg/upploadd.phpp, fflashh_urll : httpp:/g/swffuplooad.sswf, fille

18、_siize_llimitt : 204880, uplooad_sstartt_hanndlerr : uuploaadStaartEvventHHandller, uplooad_ssucceess_hhandller : uplloadSSucceessEvventHHandller ); SWFUpploadd JavvaScrript 对象构造函数SWFUpploadd(setttinggs obbjectt)返回:一个个SWFUUploaad 实例例var sswfupploadd_insstancce = new SWFUUploaad(seettinngs_oobjecct);

19、 全局变量和和常量SWFUpploadd定义了一一些全局变变量和常量量,这对SSWFUpploadd的高级应应用程序和和处理错误误都是很有有用的,它它们都是只只读的。SWFUpploadd.insstanccesSWFUpploadd.insstancces是一一个存储了了页面中所所有SWFFUplooad实例例引用的数数组。Fllash播播放器依靠靠这个数组组来调用正正确的处理理事件。该该数组是由由moviieNamme属性来来索引的关关联数组。例如:SSWFUpploadd.insstancces.SSWFUpploadd_0访问问的是第一一个实例引引用。注意: SSWFUpploadd.

20、insstancces不是是一个真正正的JavvaScrript数数组,实际际上它是一一个对象(关关联数组)。SWFUpploadd.movvieCoountSWFUppoad.moviieCouunt是一一个全局变变量,用于于记录页面面中的SWWFUplload实实例个数,同同时确保给给每一个FFlashh影片分配配一个惟一一的movvieNaame。SWFUpploadd.QUEEUE_EERRORRSWFUpploadd.QUEEUE_EERRORR是一个包包含了Quueue Erroor错误码码的JS对对象,一般般用它来查查看filleQueeueErrror事事件的中发发送的错误误码

21、,以确确定filleQueeueErrror的的具体类型型。SWFUpploadd.QUEEUE_EERRORR = QUEEUE_LLIMITT_EXCCEEDEED : -1000, FIILE_EEXCEEEDS_SSIZE_LIMIIT : -1100, ZEERO_BBYTE_FILEE : -120, INVVALIDD_FILLETYPPE : -1300 ; SWFUpploadd.UPLLOAD_ERROORSWFUpploadd.UPLLOAD_ERROOR是一个个包含了UUploaad Errror错错误码的JJS对象,一一般用它来来查看upploaddErroor事件的

22、的中发送的的错误码,以以确定upploaddErroor的具体体类型。SWFUpploadd.UPLLOAD_ERROOR = HTTTP_EERRORR : -200, MISSSINGG_UPLLOAD_URL : -2210, IO_EERRORR : -220, SECCURITTY_ERRROR : -2230, UPLOOAD_LLIMITT_EXCCEEDEED : -2400, UPPLOADD_FAIILED : -2250, SPECCIFIEED_FIILE_IID_NOOT_FOOUND : -2260, FILEE_VALLIDATTION_FAILLED : -27

23、70, FFILE_CANCCELLEED : -2800, UPPLOADD_STOOPPEDD : -290 ; SWFUpploadd.FILLE_STTATUSSSWFUpploadd.FILLE_STTATUSS是一个包包含Fille Sttatuss状态码的的JS对象象。它可以以用来检测测Filee对象中的的filee staatus属属性,以确确定文件的的状态。SWFUpploadd.FILLE_STTATUSS = QUEEUED : -11, INN_PROOGRESSS : -2, ERROOR : -3, SUCCCESS : -44, CAANCELLLED : -55

24、 ; 默认处理事事件SWFUpploadd库提供了了一系列默默认的处理理事件。当当开发人员员没有自定定义处理事事件时,SSWFUpploadd库将调用用这些默认认的处理事事件。因此此当自定义义事件时,不不要把这些些默认的处处理事件覆覆盖了。自自定义事件件是需要在在setttingss对象中被被单独定义义的。SWFUpploadd.BUTTTON_ACTIIONSWFUpploadd.BUTTTON_ACTIION是一一个包含bbuttoon的动作作预设的JJS对象。SWFUpploadd.BUTTTON_ACTIION = SSELECCT_FIILE : -1000, SSELECCT_FI

25、ILES : -1110, STARRT_UPPLOADD : -120 可以使用bbuttoon_acctionn属性来设设置Flaash本身身的文件上上传对话框框的行为。默认为SSWFUpploadd.BUTTTON_ACTIION.SSELECCT_FIILES,点点击按钮将将会打开多多文件上传传的对话框框。如果设设置为SWWFUplload.BUTTTON_AACTIOON.SEELECTT_FILLE,则为为单文件上上传。如果果设置为SSWFUpploadd.BUTTTON_ACTIION.SSTARTT_UPLLOAD,则则启动文件件上传SWFUpploadd.CURRSORSWF

26、Upploadd.CURRSOR是是一个包含含buttton的光光标状态码码的JS对对象。SWFUpploadd.CURRSOR = ARROOW : -1, HANDD : -2 可以使用bbuttoon_cuursorr属性来设设置鼠标划划过buttton时时的光标状状态。默认认为SWFFUplooad.CCURSOOR.ARRROW,如如果设置为为SWFUUploaad.CUURSORR.HANND,则为为手形SWFUpploadd.WINNDOW_MODEESWFUpploadd.WINNDOW_MODEE是一个包包含了该SSWF插入入到页面中中的wmoode属性性的JS对对象.可以以

27、通过设置置buttton_wwindoow_moode属性性来告诉浏浏览器具体体以哪种模模式显示此此SWF。SWFUpploadd.WINNDOW_MODEE = WINNDOW : wwindoow, TRANNSPARRENT : ttransspareent, OPAAQUE : oopaquue ; SWFUpploadd.WINNDOW_MODEE.WINNDOW是是默认的模模式. 该该SWF将将位于页面面元素的最最高层级。SWFUpploadd.WINNDOW_MODEE.OPAAQUE该SWFF可以被页页面类的其其他元素通通过层级的的设置来覆覆盖它。SWFUpploadd.WIN

28、NDOW_MODEE.TRAANSPAARENTT 该SWWF的背景景是透明的的,可以透透过它看到到背后的页页面元素。属性下面这个列列表是相关关属性的具具体描述。使用其它它属性或者者对只读属属性进行了了写的操作作都会造成成SWFUUploaad出现问问题。custoomSetttinggs (可可读/可写写)custoomSetttinggs属性是是一个空的的JavaaScriipt对象象,它被用用来存储跟跟SWFUUploaad实例相相关联的数数据。它的的内容可以以使用设置置对象中的的custtom_ssettiings属属性来初始始化。注意:一些些插件使用用custtomSeettinng

29、s对象象来实现它它们的内部部控制。当当重写整个个custtomSeettinngs对象象的时候需需要务必小小心。例如:/ 初始始化包含自自定义设置置的SWFFUplooad对象象 varr swffu = new SWFUUploaad( custtom_ssettiings : custtom_ssettiing_11 : custtom_ssettiing_vvaluee_1, cusstom_settting_2 : cusstom_settting_valuue_2, cuustomm_setttingg_n : cuustomm_setttingg_vallue_nn, ); swf

30、fu.cuustommSetttingss.cusstom_settting_1 = cusstom_settting_valuue_1; / 更改一一个存在的的自定义设设置 swwfu.ccustoomSetttinggs.myyNewCCustoomSetttingg = new custtom ssettiing vvaluee; / 添加加一个新的的自定义设设置 /用一个全全新的对象象重写cuustommSetttingss swffu.cuustommSetttingss = cusstom_settting_A : cusstom_settting_valuue_A, cuusto

31、mm_setttingg_B : cuustomm_setttingg_vallue_BB ; movieeNamee(只读)包含了该SSWFUpploadd实例的惟惟一影片名名字。该值值被传递给给Flassh,用来来完成Fllash和和JavaaScriipt的通通信。该值值被用来索索引实例在在SWFUUploaad.innstannces数数组中的位位置,你无无法更改此此值。方法下面的方法法用来操作作SWFUUploaad。其中中有些方法法可以跟元元素(例如如,按钮)的的点击事件件绑定,其其它的方法法供SWFFUplooad内部部处理事件件中调用。objecct adddSetttingg

32、(setttingg_namme, vallue, defaault_valuue)不赞成使用用V2.11.0源码码中注释:addSSettiing和ggetSeettinng已经不不再被使用用了,只是是考虑到兼兼容V2版版本,才继继续保留在在库中。objecct geetSetttingg(setttingg_namme)不赞成使用用V2.11.0源码码中注释:addSSettiing和ggetSeettinng已经不不再被使用用了,只是是考虑到兼兼容V2版版本,才继继续保留在在库中。objecct reetrieeveSeettinng(seettinng_vaalue, deffault

33、t_vallue)v2.1.0中已被被删除bool desttroy()v2.1.0中新增增用于将一个个SWFUUploaad实例从从页面中销销毁。不但但删除DOOM中的FFlashh元素,同同时还删除除SWFUUploaad实例的的相关引用用。成功返返回truue,失败败返回faalse。这个方法还还没有针对对插件做兼兼容测试,可可能会有不不兼容问题题。(尤其其是SWFFObjeect插件件)提醒:SWWFUplload在在v2.11.0中改改写了Fllash插插入的代码码,V2版版中使用SSWFObbjectt插入Fllash会会造成IEE的一个 HYPERLINK /blog/?p=21

34、6 刷刷新BUGG。void dispplayDDebuggInfoo()调用debbug方法法,在Deebug输输出框中显显示SWFFUplooad实例例的设置信信息,如果果设置中的的debuug属性是是truee,那么默默认是在实实例化完成成以后自动动调用此方方法。void seleectFiile()不赞成使用用,不兼容容Flassh Pllayerr 10弹出flaash的文文件选择对对话框,只只能选择单单个文件。提醒:Fllash Playyer 110的安全全机制更严严格,类似似打开文件件上传的对对话框的操操作,一定定需要用户户交互才触触发,如果果用脚本触触发,会报报#21776的

35、运行行时错误。因此V22.2.00版本在SSWF中添添加了一个个可定制的的Buttton让用用户交互来来打开文件件对话框。void seleectFiiles()不赞成使用用,不兼容容Flassh Pllayerr 10弹出flaash的文文件选择对对话框,可可一次性选选择多个文文件。提醒:Fllash Playyer 110的安全全机制更严严格,类似似打开文件件上传的对对话框的操操作,一定定需要用户户交互才触触发,如果果用脚本触触发,会报报#21776的运行行时错误。因此V22.2.00版本在SSWF中添添加了一个个可定制的的Buttton让用用户交互来来打开文件件对话框。void star

36、rtUplload(filee_id)指定fille_idd来启动该该文件的上上传,如果果filee_id被被忽略了,那那么默认开开始上传第第一个文件件。void canccelUpploadd(fille_idd, triiggerr_errror_eeventt)指定fille_idd来退出文文件的上传传,从上传传队列中删删除该文件件。如果忽略ffile_id,那那么默认文文件上传队队列中的第第一个文件件将被退出出上传。如果取消的的文件是正正在上传,那那么会触发发uplooadErrror事事件。如果将可选选参数trriggeer_errror_evennt设置为为falsse,那么么up

37、looadErrror事事件不会触触发。void stoppUplooad()如果当前有有文件上传传,那么停停止上传,并并且将文件件还原到上上传队列中中。停止了正在在上传的文文件,upploaddErroor事件会会被触发。如果此时时没有正在在上传文件件,那么不不会发生任任何操作,不不会触发任任何事件。objecct geetStaats()获取当前状状态的统计计对象,具具体见 HYPERLINK /doc/swfupload/Documentation.html#statsobject l statsobject Sttats Objeect。void setSStatss(staats_o

38、objecct)Statss统计对象象是可以被被修改的。如果你希希望在上传传完毕之后后修改上传传成功或者者上传失败败的统计数数目时,那那么可以使使用该方法法。提醒:可供供修改的属属性只有ssucceessfuul_upploadds ,uuploaad_errrorss,uplload_canccelleed,quueue_erroors,并并且值必须须是Nummber类类型。objecct geetFille(fiile_iid|indeex)根据fille_idd或者inndex来来获取文件件队列中的的 HYPERLINK /doc/swfupload/Documentation.html

39、#fileobject l fileobject 文件对象象。fille_idd是文件对对象中的iid属性,iindexx是文件对对象中的iindexx属性。传递Nummber类类型的参数数会被认定定为inddex,那那么返回的的是文件队队列(所有有尝试入队队文件,包包括因没有有通过文件件大小、类类型检测等等而触发ffileQQueueeErroor,没有有成功加入入文件上传传队列的文文件对象)数数组中下标标为inddex的文文件对象。如果inndex不不在队列数数组范围内内,那么返返回nulll。传递非Nuumberr类型的参参数会被认认定为fiile_iid,那么么返回的是是文件上传传队列

40、(通通过文件检检测,准备备好进行上上传的文件件)数组中中id为ffile_id的文文件对象。如果参数数为空,或或者没有此此id的文文件对象,那那么返回文文件等待队队列中的第第一个文件件对象,如如果第一个个文件对象象为空,那那么返回nnull。void addPPostPParamm(namme, vallue)给设置中的的postt_parrams对对象添加值值对,当文文件上传的的时候,这这个值对会会一同在PPOST中中发送。如果设置的的时候,ppost_paraams中以以及存在该该值,那么么实际上会会被覆盖。提醒:SWWFUlooad存在在 HYPERLINK /blog/?p=256 C

41、ookkie bbug,你你可以使用用此方法避避免。void remoovePoostPaaram(namee)从设置中的的postt_parrams对对象中删除除namee指定的属属性,当文文件上传的的时候,删删除的值对对不会继续续在POSST中发送送。bool addFFilePParamm(fille_idd, namme, vallue)为指定fiile_iid的特定定文件对象象添加POOST值对对,如果添添加的naame属性性已经存在在,那么原原值会被覆覆盖。如果需要给给所有文件件对象添加加POSTT值,那么么可以使用用设置中的的postt_parrams属属性。bool remoo

42、veFiilePaaram(filee_id, namme)删除由adddFilleParram添加加的POSST值对.如果POSST设置中中没有此属属性,那么么返回faalse。void setUUploaadURLL(urll)动态修改设设置中的uuploaad_urrl属性。void setPPostPParamms(paaram_objeect)动态修改ppost_paraams,以以前的属性性全部被覆覆盖。paaram_objeect必须须是一个JJavaSScrippt的基本本对象,所所有属性和和值都必须须是字符串串类型。void setFFileTTypess(typpes, d

43、esccripttion)动态修改设设置中的ffile_typees 和 filee_typpes_ddescrriptiion,两两个参数都都是必须的的。void setFFileSSizeLLimitt(fille_siize_llimitt)动态修改设设置中的ffile_sizee_limmit,此此修改针对对之后的文文件大小过过滤有效。filee_sizze_liimit参参数接收一一个单位,有有效的单位位有B、KKB、MBB、GB,默默认单位是是KB。例如: 2214744836448 B, 209971522, 200971552KB, 20448 MBB, 2 GBvoid se

44、tFFileUUploaadLimmit(ffile_uplooad_llimitt)动态修改设设置中的ffile_uplooad_llimitt,特殊值值0表示无无限制。提醒:这里里限制的是是一个SWWFUplload实实例控制上上传成功的的文件总数数。void setFFileQQueueeLimiit(fiile_qqueuee_limmit)动态修改设设置中的ffile_queuue_liimit,特特殊值0表表示无限制制。提醒:这里里限制的是是文件上传传队列中(入入队检测通通过的文件件会添加到到上传队列列等待上传传)允许排排队的文件件总数。void setFFilePPostNNam

45、e(filee_posst_naame)动态修改设设置中的ffile_postt_namme,注意意在Linnux环境境下,FllashPPlayeer是忽略略此设置的的。void setUUseQuuerySStrinng(usse_quuery_striing)动态修改设设置中的uuse_qqueryy_strring,设设置为trrue的时时候,SWWFUplload以以GET形形式发送数数据,如果果为fallse,那那么就以PPOST发发送数据。void setDDebuggEnabbled(debuug_ennableed)启动/禁止止 debbug输出出,debbug_eenabl

46、led参数数是一个布布尔值。void setBButtoonImaageURRL(urrl)动态修改按按钮的图片片。urll参数是相相对于该sswf文件件或者是绝绝对地址的的图片(或或者是SWWF)。所所有FLAASH支持持的图片类类型都可以以使用(ggif,jjpg,ppng,或或者是一个个SWF)。该按钮图片片需要经过过一定规则则(CSSS Sprrite)的的处理。按按钮图片中中需要包括括按钮的44个状态,从从上到下依依次是noormall, hoover, dowwn/cllick, dissableed.(可可以参照官官方demmo中的图图片)void setBButtoonDimm

47、ensiions(widtth, heiight)动态修改SSWF影片片的尺寸以以适应Buuttonn的图片大大小。void setBButtoonTexxt(teext)动态设置FFlashh Buttton中中显示的文文字,支持持HTMLL。HTMML文本的的样式可以以通过CSSS选择器器并配合ssetBuuttonnTexttStylle方法来来设置。关关于Flaash文本本对HTMML的支持持详细可见见 HYPERLINK /flash/9.0/ActionScriptLangRefV3/flash/text/TextField.html#htmlText l htmlText Ado

48、obess Flaash ddocummentaationn。void setBButtoonTexxtStyyle(ccss_sstylee_texxt)配合settButttonTeext方法法,可以通通过CSSS样式来动动态设置FFlashh Buttton中中的文字样样式。关于于Flassh文本对对CSS的的支持详细细可见 HYPERLINK /flash/9.0/ActionScriptLangRefV3/flash/text/StyleSheet.html Addobes Fllash docuumenttatioonvoid setBButtoonTexxtPadddingg(l

49、efft, topp)Sets the top and leftt padddingg of the Flassh buuttonn texxt. TThe vvaluees maay bee neggativve.void setBButtoonDissableed(issDisaabledd)When truue cchangges tthe FFlashh Buttton statte too dissableed annd iggnorees anny cllickss.void setBButtoonActtion(butttonAcctionn)Sets the actiion t

50、takenn wheen thhe Fllash buttton iis cllickeed. VValidd acttion valuues aare ttakenn froom thhe BUUTTONN_ACTTION consstantts.void setBButtoonCurrsor(butttonCuursorr)Sets the mousse cuursorr shoown wwhen hoveeringg oveer thhe Fllash buttton. Valiid cuursorr vallues are takeen frrom tthe BBUTTOON_CUUR

51、SORR connstannts.事件SWFUpploadd在操作过过程中会触触发一系列列事件,开开发者可以以利用这些些回调的处处理事件来来控制UII,控制操操作或者报报告错误。所有的事件件都是在SSWFUpploadd实例的上上下文中调调用的,因因此在这些些回调的事事件中使用用thiss能够直接接访问到该该触发该事事件的实例例对象。所有事件应应该在实例例初始化时时settting参参数中预设设完成。flashhReaddy()该事件函数数是内部事事件,因此此不能被重重写。当SSWFupploadd实例化,加加载的FLLASH完完成所有初初始化操作作时触发此此事件。提醒:对应应设置中的的自定义

52、事事件swffuplooad_lloadeed_haandleerswfUpploaddLoadded()V2.1.0版本中中已经删除除了此事件件fileDDialoogStaart()此事件在sselecctFille或者sselecctFilles调用用后,文件件选择对话话框显示之之前触发。只能同时时存在一个个文件对话话框。提醒:对应应设置中的的自定义事事件fille_diialogg_staart_hhandllerfileQQueueed(fiile oobjecct)当文件选择择对话框关关闭消失时时,如果选选择的文件件成功加入入上传队列列,那么针针对每个成成功加入的的文件都会会触发一

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

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

55、文件类类型和大小小的检测,对对于不通过过的文件触触发此事件件,通过的的文件成功功入队。fileDDialoogCommplette(nuumberr of filees seelectted, numbber oof fiiles queuued)当选择文件件对话框关关闭,并且且所有选择择文件已经经处理完成成(加入上上传队列成成功或者失失败)时,此此事件被触触发,nuumberr of filees seelectted是选选择的文件件数目,nnumbeer off filles qqueueed是此次次选择的文文件中成功功加入队列列的文件数数目。提醒:对应应设置中的的自定义事事件fille_

56、diialogg_commplette_haandleer注意:如果果你希望文文件在选择择以后自动动上传,那那么在这个个事件中调调用thiis.sttartUUploaad() 是一个不不错的选择择。如果需需要更严格格的判断,在在调用上传传之前,可可以对入队队文件的个个数做一个个判断,如如果大于00,那么可可以开始上上传。uploaadStaart(ffile objeect)在文件往服服务端上传传之前触发发此事件,可可以在这里里完成上传传前的最后后验证以及及其他你需需要的操作作,例如添添加、修改改、删除ppost数数据等。在完成最后后的操作以以后,如果果函数返回回falsse,那么么这个上传

57、传不会被启启动,并且且触发upploaddErroor事件(ccode为为ERROOR_COODE_FFILE_VALIIDATIION_FFAILEED),如如果返回ttrue或或者无返回回,那么将将正式启动动上传。提醒:对应应设置中的的自定义事事件uplload_starrt_haandleeruploaadProogresss(fiile oobjecct, byttes ccompllete, tottal bbytess)该事件由fflashh定时触发发,提供三三个参数分分别访问上上传文件对对象、已上上传的字节节数,总共共的字节数数。因此可可以在这个个事件中来来定时更新新页面中的的U

58、I元素素,以达到到及时显示示上传进度度的效果。注意: 在在Linuux下,FFlashh Plaayer只只在所有文文件上传完完毕以后才才触发一次次该事件,官官方指出这这是Linnux FFlashh Plaayer的的一个buug,目前前SWFpploadd库无法解解决(我没没有测试过过)。提醒:对应应设置中的的自定义事事件uplload_proggresss_hanndlerruploaadErrror(ffile objeect, erroor coode, messsage)无论什么时时候,只要要上传被终终止或者没没有成功完完成,那么么该事件都都将被触发发。errror ccode参参

59、数表示了了当前错误误的类型,更更具体的错错误类型可可以参见 HYPERLINK /doc/swfupload/Documentation.html#upload_error l upload_error SSWFUpploadd.UPLLOAD_ERROOR中的定定义。Meessagge参数表表示的是错错误的描述述。Fille参数表表示的是上上传失败的的文件对象象。例如,我们们请求一个个服务端的的一个不存存在的文件件处理页面面,那么eerrorr codde会是-200,mmessaage会是是404。停止、退退出、upploaddStarrt返回ffalsee、HTTTP错误、IO错误误、文

60、件上上传数目超超过限制等等,都将触触发该事件件,Uplload erroor wiill nnot ffire for filees thhat aare ccanceelledd butt stiill wwaitiing iin thhe quueue。(对于官官方的这句句话我还存存在疑问,文文件退出以以后怎么还还会保留在在文件上传传队列中保保留呢?)提醒:对应应设置中的的自定义事事件uplload_erroor_haandleer注意:此时时文件上传传的周期还还没有结束束,不能在在这里开始始下一个文文件的上传传。uploaadSucccesss(fille obbjectt, serrv

温馨提示

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

评论

0/150

提交评论