A SWF served over http cannot get data from files on the user's file system.
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of artgrater Sent: Monday, September 01, 2008 11:11 PM To: [email protected] Subject: [flexcoders] Don't need to upload file, but need to display it E4X. I am trying to let the user browse and select a file that I display but not save. For interim test purposes, the HTTPService uploads a file if it's name is already entered in the TextInput control when the btnSelect button is clicked. The XML displays properly in the taStatus TextArea. The problem is that I want to display the XML file that the user browses to, not the file entered in the TextInput. I have tried binding to the 'name' property of FileReference, but that doesn't go to the proper folder. There's no back-end script because I do NOT need to save the selected file to the server. I just need to show it and do some other stuff in another component. Or do I need a back- end script just to tell flex where to locate the file that was browsed to? Thanks! <?xml version="1.0" encoding="utf-8"?> <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" height="289" y="0" width="656"> <mx:Script> <![CDATA[ import mx.rpc.events.ResultEvent; import mx.rpc.events.FaultEvent; import flash.net.FileReference; [Bindable] private var file:FileReference = new FileReference; [Bindable] private var dmrXML:XML = new XML; [Bindable] private var message:String = ""; [Bindable] private var caseName:String = ""; public function selectFile():void { message = ""; taStatus.text = ""; file.addEventListener(Event.SELECT, selectHandler); file.browse(); } public function selectHandler(event:Event):void { file = FileReference(event.target); caseName = file.name; fileHTTPService.send(); } public function completeHandler(e:ResultEvent):void { dmrXML = e.target.lastResult; message = "The file is " + caseName + " by " + dmrXML.head.user + ", at " + dmrXML.head.saved + "\n\n"; message += dmrXML + "\n\n"; // Display XML contents in user message box } public function faultHandler(event:Event):void { message += "Your file could not be read!\n"; //file_txt.text } ]]> </mx:Script> <mx:Button id="btnSelect" x="145" y="10" label="Select" click="selectFile()"/> <mx:HTTPService id="fileHTTPService" url="{file_txt.text}" resultFormat="e4x" result="completeHandler(event)" fault="faultHandler(event)" /> <mx:TextInput id="file_txt" x="145" y="51" width="271"/> <mx:Text x="10" y="10" text="Please select a file:" fontSize="12"/> <mx:TextArea x="10" y="81" width="636" height="198" id="taStatus" text="{message}"/> <mx:Label x="10" y="53" text="Or enter file name:"/> </mx:Canvas>

