<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/10/30/using-for-the-filereference-classs-uploadcompletedata-event-to-capture-data-from-a-server-side-script/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
		layout="vertical"
		verticalAlign="middle"
		backgroundColor="white"
		creationComplete="init();">

	<mx:Script>
		<![CDATA[
			import flash.net.FileReference;
			import mx.controls.Alert;
			import mx.utils.StringUtil;

			private var fileRef:FileReference;
			private var urlReq:URLRequest;

			private function init():void {
				fileRef = new FileReference();
				fileRef.addEventListener(Event.SELECT, fileRef_select);
				fileRef.addEventListener(Event.COMPLETE, fileRef_complete);
				fileRef.addEventListener(IOErrorEvent.IO_ERROR, fileRef_ioError);
				fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadCompleteData);
				
				urlReq = new URLRequest();
				urlReq.url = "http://localhost:8300/fileref/uploader.cfm";
			}

			private function uploadCompleteData(evt:DataEvent):void {
				var strData:String = StringUtil.trim(evt.data);
				var vars:URLVariables = new URLVariables(strData);
				Alert.show(vars.fileName, "fileName");
			}

			private function start():void {
				fileRef.browse();
			}

			private function fileRef_select(evt:Event):void {
				fileRef.upload(urlReq);
			}

			private function fileRef_complete(evt:Event):void {
				Alert.show(evt.toString(), evt.type);
			}

			private function fileRef_ioError(evt:IOErrorEvent):void {
				Alert.show(evt.text, evt.type);
			}
		]]>
	</mx:Script>

	<mx:Button label="upload" click="start();" />

</mx:Application>

