Revision: 24447
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at March 1, 2010 20:21 by alvincrespo
Initial Code
/* Author: Alvin Crespo Date: 3/1/2010 */ package acrespo.classes.managers{ //events import flash.errors.IOError; import flash.events.DataEvent; import flash.events.Event; import flash.events.HTTPStatusEvent; import flash.events.IOErrorEvent; import flash.events.SecurityErrorEvent; //net import flash.net.FileFilter; import flash.net.FileReference; import flash.net.URLRequest; import flash.net.URLLoader; import flash.net.URLRequestMethod; import flash.net.URLLoaderDataFormat; import flash.net.URLVariables; //custom classes import acrespo.classes.constants.ProgramConstants; import acrespo.classes.MainDocument; //utils import acrespo.classes.constants.ProgramConstants; public class FileManager { private var _MainDoc:MainDocument; //reference to document class private var cFileReference:FileReference = new FileReference(); private var cUploadURL = ProgramConstants.SERVER_URL+ProgramConstants.PHP_URL+ProgramConstants.UPLOAD_URL; //url of php file public function FileManager(pMainDoc:MainDocument){ trace("File Manager Instantiated"); _MainDoc = pMainDoc; //cFileReference = new FileReference(); //EVENTS //Dispatched when the user selects a file for upload or download from the file-browsing dialog box. cFileReference.addEventListener(Event.SELECT, fileReferenceSelect); //Dispatched when an upload or download operation starts. cFileReference.addEventListener(Event.OPEN, fileReferenceOpen); //Dispatched when download is complete or when upload generates an HTTP status code of 200. cFileReference.addEventListener(Event.COMPLETE, uploadcomplete); //Dispatched after data is received from the server after a successful upload. //This event is not dispatched if data is not returned from the server. cFileReference.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, fileReferenceData); //ERROR EVENTS //Dispatched when an upload fails and an HTTP status code is available to describe the failure. cFileReference.addEventListener(HTTPStatusEvent.HTTP_STATUS, fileReferenceHTTPError); //Dispatched when the upload or download fails. cFileReference.addEventListener(IOErrorEvent.IO_ERROR, fileReferenceIOError); //Dispatched when a call to the FileReference.upload() or FileReference.download() method tries to upload a file to a server or get a file from a server that is outside the caller's security sandbox. cFileReference.addEventListener(SecurityErrorEvent.SECURITY_ERROR, fileReferenceSecurityError); } public function browseFiles():void { /* * * FileFilter(description:String, extension:String, macType:String = null); * Indicates what files on the user's system are shown in the file-browsing dialog box that is displayed when the FileReference.browse() method * * */ cFileReference.browse([new FileFilter("Only MP3 Formats","*.mp3")]); } public function uploadFiles():void { trace("\n\nUploading File: " + cFileReference.name); var request:URLRequest = new URLRequest(); request.url = cUploadURL; trace("\n\nPHP Location: " + cUploadURL +"\n"); cFileReference.upload(request); } /* * * Event Handlers * * */ private function fileReferenceSelect(e:Event):void{ trace("Chosen File: " + cFileReference.name); _MainDoc.inputContainer.uploadinput.sampledata.text = String(cFileReference.name); } private function fileReferenceOpen(e:Event):void { trace("File Upload Started"); } private function uploadcomplete(e:Event):void { trace("File Upload Complete"); } private function fileReferenceData(e:DataEvent):void { trace("Data from Server: " + e.data); //load sound trace("\nLOAD SOUND"); _MainDoc._SoundManager.GetMusicData(cFileReference.name); } private function fileReferenceHTTPError(e:HTTPStatusEvent):void { trace("HTTP Status Error: " + e.status); } private function fileReferenceIOError(e:IOErrorEvent):void { trace("IOErrorEvent: " + e.toString()); } private function fileReferenceSecurityError(e:SecurityErrorEvent):void { trace("Secruity Error: " + e.text); } } }
Initial URL
Initial Description
This is the file reference class ive been using for one of my projects
Initial Title
Using the FileReference API in AS3 for Uploading MP3's
Initial Tags
file
Initial Language
ActionScript 3