flex上传和下载文件

来源:互联网 发布:php curl 发送请求 编辑:程序博客网 时间:2024/06/06 14:26
<?xml version="1.0" encoding="utf-8"?><mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300" initialize="init()"><mx:Script><![CDATA[import mx.controls.Alert;import flash.net.FileReference;public var myFileReference:FileReference = new FileReference();private function init():void {process.label = "0 byte";showDetail.text = "无文件上传";}private function browse():void {//浏览本地文件myFileReference.browse();//为打开选择框定义处理myFileReference.addEventListener(Event.SELECT,selectHandler);//在上传过程中触发的事件处理myFileReference.addEventListener(ProgressEvent.PROGRESS,onProcess);myFileReference.addEventListener(Event.COMPLETE,onComplete);}private function selectHandler(event:Event):void {sName.text = myFileReference.name;}private function upload():void {//调用upload.jsp接受从flsh player发送的文件var request:URLRequest = new URLRequest("http://localhost:8080/UpAndDownloadFile/upload.jsp");try{//上传文件myFileReference.upload(request);showDetail.text = "upload";}catch(error:Error) {mx.controls.Alert.show("上传文件出错");}}private function onProcess(event:ProgressEvent):void {var proc:uint = event.bytesLoaded;var total:uint = event.bytesTotal;process.setProgress(proc,total);showDetail.text = "上传中";process.label = proc.toString()+"bytes";}private function onComplete(event:Event):void {showDetail.text = "上传结束";sName.text = "";this.parentDocument.download.init();}//取消事件private function cancel():void {myFileReference.cancel();}]]></mx:Script><mx:Button x="330" y="41" label="浏览" click="browse()"/><mx:TextInput id="sName" x="26" y="39" width="272"/><mx:Button x="26" y="81" label="上传" click="upload()"/><mx:Button x="110.5" y="81" label="取消" click="cancel()"/><mx:ProgressBar id="process" x="26" y="172" width="360" mode="manual" labelPlacement="right"/><mx:Label x="26" y="125" text="当前状态"/><mx:TextInput id="showDetail" x="110" y="125" width="188"/></mx:Canvas>
<?xml version="1.0" encoding="utf-8"?><mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" initialize="init()" width="414" height="316"><mx:Script><![CDATA[import mx.collections.XMLListCollection;import mx.rpc.events.ResultEvent;import mx.controls.Alert;public var filePath:String;public var myFilereference:FileReference = new FileReference();public function init():void {getList.send();process1.label = "0 bytes";}//下载文件private function down():void {var u:String = "http://localhost:8080/UpAndDownloadFile/down.jsp?file="+filePath;var request:URLRequest = new URLRequest(u);myFilereference.download(request);myFilereference.addEventListener(ProgressEvent.PROGRESS,onProcess);myFilereference.addEventListener(Event.COMPLETE,onComplete);}private function onProcess(event:ProgressEvent):void {var proc:uint = event.bytesLoaded;var total:uint = event.bytesTotal;process1.setProgress(proc,total);process1.label = proc.toString()+" bytes";}private function resultHandler(event:ResultEvent):void {var x:XML = new XML(event.result);fileList.dataProvider = x.item;getList.request.someValue = Math.random();}private function listChange():void {var fName:String = fileList.selectedItem.toString();fN.text = fName;filePath = "/apace/"+fName;}private function onComplete(event:Event):void {mx.controls.Alert("下载完成");}]]></mx:Script><mx:HTTPService id="getList" url="http://localhost:8080/UpAndDownloadFile/List.jsp" result="resultHandler(event)" resultFormat="xml" method="POST"><mx:request xmlns=""><someValue>{Math.random()}</someValue></mx:request></mx:HTTPService><mx:List id="fileList" x="10" y="34" height="232" width="184" change="listChange()"></mx:List><mx:Label x="10" y="8" text="可下载文件"/><mx:Label x="217" y="34" text="从列表中选择要下载的文件"/><mx:Label id="fN" x="217" y="60" text="文件名"/><mx:LinkButton x="362" y="176" label="下载" click="down()"/><mx:ProgressBar id="process1" x="202" y="238" mode="manual"/></mx:Canvas>

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*" fontSize="14"><mx:TabNavigator id="ud" x="155" y="102" width="445" height="400"><!--上传模块--><local:uploadFile id="up" label="上传文件"/><local:downloadFile id="download" label="下载文件"/></mx:TabNavigator></mx:Application>