flex:使用FileReference上传文件
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()" width="1000" height="700" color="#25C1E2">?
<mx:Script>? <![CDATA[? private const defaultRequestUrl:String = "http://www.mysite.com/upload_ok.php";?????????? private var file : FileReference;? private function init():void {? Security.allowDomain("*");? file = new FileReference();? file.addEventListener(Event.SELECT,onFileSelect);? file.addEventListener(ProgressEvent.PROGRESS,progressHandle);? file.addEventListener(Event.COMPLETE,completeHandle);? //file.addEventListener(Event.OPEN,openHandle);? //file.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);? ??????????????????? //file.addEventListener(Event.CANCEL,cancelHandler);? ??????????????? }? ?????????????????? ??????????????? private function onClickBrowserBtn() : void {? ??????????????????? file.browse(getTypeFilter());? ??????????????? private function getTypeFilter() : Array {? ??????????????????? var imagesFilter:FileFilter = new FileFilter("Images (*.jpg,*.jpeg,*.gif,*.png)","*.jpg;*.jpeg;*.gif;*.png");? ??????????????????? //var docFilter:FileFilter = new FileFilter("Documents","*.pdf;*.doc;*.txt");? ?????????????????????? ??????????????????? return [imagesFilter];? ??????????????? private function onFileSelect(event : Event) : void {? ??????????????????? uploadBtn.enabled = true;? ??????????????????? infoText.htmlText = "Name: "+file.name+" "+"Size: "+file.size+" "+ ??????????????????????? "Type: " + file.type + " " +??? ??????????????????????? "Date: " + file.creationDate;? ??????????????? private function onClickUploadBtn() : void {? ??????????????????? var request : URLRequest = new URLRequest(defaultRequestUrl);? ??????????????????? request.data = "userId=123";? ??????????????????? file.upload(request);? ??????????????? private function progressHandle(event : ProgressEvent) : void {? ??????????????????? progressLabel.text = "complete " + event.bytesLoaded + " bytes";? ??????????????????? var fileUploadPercent : uint = event.bytesLoaded / event.bytesTotal * 100;? ??????????????????? uploadProgressBar.setProgress(fileUploadPercent,100);? ??????????????????? uploadProgressBar.label = "Complete " + fileUploadPercent + "%";? ??????????????? private function completeHandle(event : Event) : void {? ??????????????????? infoText.htmlText = "Upload " + file.name + " Complete!";? ??????????????????? uploadBtn.enabled = false;? ??????????? ]]> ??????? </mx:Script>? ?????????? ??????? <mx:Button id="browserBtn" x="10" y="69" label="浏览" styleName="mylinkButton"??? ??????????? click="onClickBrowserBtn()"/>? ?????????????? ??????? <mx:Button id="uploadBtn" x="236" y="69" label="上传" enabled="false"??? ??????????? click="onClickUploadBtn()"/>? ??????? <mx:ProgressBar id="uploadProgressBar" x="10" y="33" width="291"??? ??????????? themeColor="#009dff" maximum="100" direction="right" mode="manual"/>? ??????? <mx:TextArea id="infoText" x="10" y="99" width="291" height="131"/>? ??????? <mx:Label id="progressLabel" x="10" y="10" width="291"/>? ?? </mx:Application>? //------------------------分析-------------------------------- 7、URLRequest的data属性可以与URLVariables类结合使用
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |