Flex 单个文件上传

<?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>  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值