当前位置: 代码迷 >> Web前端 >> fileReference 的应用
  详细解决方案

fileReference 的应用

热度:284   发布时间:2012-10-08 19:54:56.0
fileReference 的运用
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/09/21/uploading-files-in-flex-using-the-filereference-class/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
				layout="vertical"
				verticalAlign="middle"
				backgroundColor="white"
				creationComplete="init();">
	
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			private var fileRef:FileReference;
			
//			private const FILE_UPLOAD_URL:String = "http://www.YOUR-WEBSITE-HERE.com/fileref/uploader.cfm";
			
			private function init():void {
				fileRef = new FileReference();
				fileRef.addEventListener(Event.SELECT, fileRef_select);
				fileRef.addEventListener(ProgressEvent.PROGRESS, fileRef_progress);
				fileRef.addEventListener(Event.COMPLETE, fileRef_complete);
			}
			
			private function browseAndUpload():void {
				fileRef.browse();
				message.text = "";
			}
			
			private function fileRef_select(evt:Event):void {
				try {
					//message.text = "size (bytes): " + numberFormatter.format(fileRef.size);
					fileRef.load();
				} catch (err:Error) {
					message.text = "ERROR: zero-byte file";
				}
			}
			
			private function fileRef_progress(evt:ProgressEvent):void {
				progressBar.visible = true;
			}
			
			private function fileRef_complete(evt:Event):void {
				message.text += " (complete)";
				var fileExtensionName:String = fileRef.name.substring(fileRef.name.lastIndexOf('.'));
				if(fileExtensionName.toLowerCase() != ".txt")
				{
					Alert.show("The File you are try to Upload is not .txt file!");
				}
				progressBar.visible = false;
			}
		]]>
	</mx:Script>
	
	<mx:NumberFormatter id="numberFormatter" />
	
	<mx:Button label="Upload file"
			   click="browseAndUpload();" />
	<mx:Label id="message" />
	<mx:ProgressBar id="progressBar"
					indeterminate="true"
					visible="false" />
	
</mx:Application>
?

?