<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns="*" creationComplete="init();"> <mx:Script> <![CDATA[ import flash.net.FileReference; import mx.controls.Alert; import mx.events.CloseEvent; import flash.events.*; private var file:FileReference; private function init(): void{ Security.allowDomain("*"); file = new FileReference(); file.addEventListener(ProgressEvent.PROGRESS, onProgress); file.addEventListener(Event.SELECT, onSelect); file.addEventListener(Event.COMPLETE, completeHandle); } private function completeHandle(event:Event):void{ Alert.show("恭喜你,上传成功"); } private function upload(): void{ var noFilter:FileFilter = new FileFilter("All(*.*)", "*.*"); var imagesFilter:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.png,*.gif)", "*.jpg;*.jpeg;*.png;*.gif"); var docFilter:FileFilter = new FileFilter("Documents(*.pdf,*.doc,*.txt,*.xls,*.ppt)", "*.pdf;*.doc;*.txt;*.xls;*.ppt"); //var allTypes:Array = new Array(imageTypes); file.browse([noFilter,imagesFilter, docFilter]); //file.browse(); } private function onSelect(e: Event): void{ Alert.show("上传 " + file.name + " (共 "+Math.round(file.size)+" 字节)?", "确认上传", Alert.YES|Alert.NO, null, proceedWithUpload); } private function onProgress(e: ProgressEvent): void{ lbProgress.text = " 已上传 " + e.bytesLoaded+ " 字节,共 " + e.bytesTotal + " 字节"; var proc: uint = e.bytesLoaded / e.bytesTotal * 100; bar.setProgress(proc, 100); bar.label= "当前进度: " + " " + proc + "%"; } private function proceedWithUpload(e: CloseEvent): void{ if (e.detail == Alert.YES){ //var request: URLRequest = new URLRequest("http://localhost:8080/upload/fileUpload"); //var request: URLRequest = new URLRequest("http://localhost:8080/uploadstruts1/fileUpload.do"); var request: URLRequest = new URLRequest("http://localhost:8080/MyTianHuiWeb3.0/fileUpload.th"); try { file.upload(request); } catch (error:Error) { trace("上传失败"); } } } ]]> </mx:Script> <mx:Canvas width="100%" height="100%" x="10" y="170" fontSize="15"> <mx:VBox width="100%" horizontalAlign="center"> <mx:Label id="lbProgress" text="上传"/> <mx:ProgressBar id="bar" labelPlacement="bottom" themeColor="#F20D7A" minimum="0" visible="true" maximum="100" label="当前进度: 0%" direction="right" mode="manual" width="200"/> <mx:Button label="上传文件" click="upload();"/> </mx:VBox> </mx:Canvas> </mx:Application>