加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

FLEX自定义事件,及上传

发布时间:2020-12-15 00:59:22 所属栏目:百科 来源:网络整理
导读:as3端 package ?com.czw.apps.base? {? ???? import ?flash.events.*;? ???? import ?flash.net.*;? ???? import ?flash.utils.*;? ????[Event(name= "ioError" ,?type= "flash.events.IOErrorEvent" )]? ????[Event(name= "complete" ,?type= "flash.events

as3端

 
 
  1. package?com.czw.apps.base?
  2. {?
  3. ????import?flash.events.*;?
  4. ????import?flash.net.*;?
  5. ????import?flash.utils.*;?
  6. ????[Event(name="ioError",?type="flash.events.IOErrorEvent")]?
  7. ????[Event(name="complete",?type="flash.events.Event")]?
  8. ?????
  9. ????public?class?FileUpload?extends?EventDispatcher?
  10. ????{?
  11. ????????private?var?file:FileReference;?
  12. ?????????
  13. ????????private?var?_fileType:String="All";?
  14. ?????????
  15. ????????[Bindable]?
  16. ????????[Inspectable(category="General",?defaultValue="")]?
  17. ????????private?var?_file_name:String;?
  18. ?????????
  19. ????????[Bindable]?
  20. ????????[Inspectable(category="General",?defaultValue="")]?
  21. ????????private?var?_process_event:ProgressEvent;?
  22. ?????????
  23. ????????[Bindable]?
  24. ????????[Inspectable(category="General",?defaultValue="Image",?enumeration="Image,Word,Excel,Pdf,All")]?
  25. ????????public?function?get?fileType():String?
  26. ????????{?
  27. ????????????return?_fileType;?
  28. ????????}?
  29. ????????public?function?set?fileType(value:String):void?
  30. ????????{?
  31. ????????????this._fileType=value;?
  32. ????????}?
  33. ?????????
  34. ????????public?function?get?actualFileType():String?
  35. ????????{?
  36. ????????????return?file.type.substring(1,file.type.length);?
  37. ????????}?
  38. ?????????
  39. ????????public?function?FileUpload()?
  40. ????????{?
  41. ????????????file?=?new?FileReference();?
  42. ????????????configureListeners(file);?
  43. ????????}?
  44. ?????????
  45. ????????public?function?get?data():ByteArray{?
  46. ????????????if(file!=null)?
  47. ????????????{?
  48. ????????????????return?file.data;?
  49. ????????????}?
  50. ????????????return?null;?
  51. ????????}?
  52. ?????????
  53. ????????public?function?get?fileName():String?
  54. ????????{?
  55. ????????????return?_file_name;?
  56. ????????}?
  57. ?????????
  58. ????????public?function?get?processEvent():ProgressEvent?
  59. ????????{?
  60. ????????????return?_process_event;?
  61. ????????}?
  62. ?????????
  63. ????????public?function?browse():void?
  64. ????????{?
  65. ????????????file.browse(types);?
  66. ????????}?
  67. ?????????
  68. ????????private?function?configureListeners(dispatcher:IEventDispatcher):void?{?
  69. ????????????dispatcher.addEventListener(Event.CANCEL,?eventHandler);?
  70. ????????????dispatcher.addEventListener(Event.COMPLETE,?eventHandler);?
  71. ????????????dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS,?eventHandler);?
  72. ????????????dispatcher.addEventListener(IOErrorEvent.IO_ERROR,?eventHandler);?
  73. ????????????dispatcher.addEventListener(Event.OPEN,?eventHandler);?
  74. ????????????dispatcher.addEventListener(ProgressEvent.PROGRESS,?progressHandler);?
  75. ????????????dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR,?eventHandler);?
  76. ????????????dispatcher.addEventListener(Event.SELECT,?selectHandler);?
  77. ????????????dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler);?
  78. ????????}?
  79. ?????????
  80. ????????private?function?eventHandler(event:Event):void?{?
  81. ????????????this.dispatchEvent(event);?
  82. ????????}?
  83. ?????????
  84. ????????private?function?uploadCompleteDataHandler(event:DataEvent):void?{?
  85. ????????????trace("uploadCompleteData:?"?+?event.data);?
  86. ????????????_file_name=event.data?as?String;?
  87. ????????}?
  88. ?????????
  89. ????????private?function?progressHandler(event:ProgressEvent):void?{?
  90. ????????????this._process_event=event;?
  91. ????????}?
  92. ?????????
  93. ????????private?function?selectHandler(event:Event):void?{?
  94. ????????????_file_name?=?FileReference(event.target).name;?
  95. ????????????trace("selectHandler:?name="?+?_file_name);?
  96. ????????????file.load();?
  97. ????????}?
  98. ?????????
  99. ????????private?function?getImageTypeFilter():FileFilter?
  100. ????????{?
  101. ????????????return?new?FileFilter("Images?(*.jpg,?*.jpeg,?*.gif,?*.png)",?"*.jpg;*.jpeg;*.gif;*.png");?
  102. ????????}?
  103. ?????????
  104. ????????private?function?getWordTypeFilter():FileFilter?
  105. ????????{?
  106. ????????????return?new?FileFilter("Word?Files?(*.doc,?*.docx)",?"*.doc;*.docx");?
  107. ????????}?
  108. ?????????
  109. ????????private?function?getExcelTypeFilter():FileFilter?
  110. ????????{?
  111. ????????????return?new?FileFilter("Excel?Files?(*.xls,?*.xlsx)",?"*.xls;*.xlsx");?
  112. ????????}?
  113. ?????????
  114. ????????private?function?getPdfTypeFilter():FileFilter?
  115. ????????{?
  116. ????????????return?new?FileFilter("Pdf?Files?(*.pdf)","*.pdf");?
  117. ????????}?
  118. ?????????
  119. ????????private?function?get?types():Array?{?
  120. ????????????switch(_fileType)?
  121. ????????????{?
  122. ????????????????case?"Image":?
  123. ????????????????????return?new?Array(getImageTypeFilter());?
  124. ????????????????case?"Word":?
  125. ????????????????????return?new?Array(getWordTypeFilter());?
  126. ????????????????case?"Excel":?
  127. ????????????????????return?new?Array(getExcelTypeFilter());?
  128. ????????????????case?"Pdf":?
  129. ????????????????????return?new?Array(getPdfTypeFilter());?
  130. ????????????????default:?
  131. ????????????????????return?[getPdfTypeFilter(),getImageTypeFilter(),getWordTypeFilter(),getExcelTypeFilter()];?
  132. ????????????}?
  133. ????????????return?null;?
  134. ????????}?
  135. ????}?
  136. }?

flex端

?

 
 
  1. <fx:Declarations>?
  2. <base:FileUpload?id="uploadFile"?complete="browsComplete()"/>?
  3. </fx:Declarations>?
  4. <fx:Script>?
  5. private?function?uploadBrows(attachmentType:int):void?
  6. ????????????{?
  7. ????????????????if(loading)?
  8. ????????????????{?
  9. ????????????????????if(alert==null)?
  10. ????????????????????{?
  11. ????????????????????????alert=new?Alert;?
  12. ????????????????????????alert.title="文件上传提示";?
  13. ????????????????????????alert.text="文件上传中,请稍后";?
  14. ????????????????????}?
  15. ????????????????????PopUpManager.addPopUp(alert,?parent,?true);?
  16. ????????????????????PopUpManager.centerPopUp(alert);?
  17. ????????????????????return;?
  18. ????????????????}?
  19. ????????????????loading=true;?
  20. ????????????????this.attachmentType=attachmentType;?
  21. ????????????????if(attachmentType==8){?
  22. ????????????????????uploadFile.fileType="Image";?
  23. ????????????????}else{?
  24. ????????????????????uploadFile.fileType="All";?
  25. ????????????????}?
  26. ????????????????uploadFile.browse();?
  27. ????????????}?
  28. //上传文件成功回调函数
    private function browsComplete():void
    {}
  29. </fx:Script>?
  30. <s:Button?left="108"?bottom="2"?width="45"?label="上传"?click="uploadBrows(8);"?
  31. ??????????????????????????enabled="{updateFlag||addFlag}"/>?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读