package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.events.SecurityErrorEvent;
import flash.net.FileReference;
import flash.net.URLRequest;
public class Main extends Sprite {
private var _browse:TextField = new TextField();
private var _upload:TextField = new TextField();
private var _fileReference:FileReference = new FileReference();
public function Main() {
_browse.htmlText = "click to browse file";
_browse.addEventListener(MouseEvent.CLICK, browseHandler);
addChild(_browse);
_upload.htmlText = "click to upload file";
_upload.addEventListener(MouseEvent.CLICK, uploadHandler);
_upload.x = 200;
addChild(_upload);
_fileReference.addEventListener(Event.SELECT, selectHandler);
_fileReference.addEventListener(Event.CANCEL, cancelHandler);
_fileReference.addEventListener(ProgressEvent.PROGRESS, progressHandler);
_fileReference.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
_fileReference.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityHandler);
_fileReference.addEventListener(Event.COMPLETE, completeHandler);
}
private function browseHandler(event:MouseEvent):void {
_fileReference.browse();
}
private function selectHandler(event:Event):void {
trace("Selected File");
trace("\nName: "+ _fileReference.name);
trace("\nSize: "+ _fileReference.size);
trace("\nCreated On: "+ _fileReference.creationDate);
trace("\nModified On: "+ _fileReference.modificationDate);
_upload.visible = true;
}
private function cancelHandler(event:Event):void {
trace("Canceled");
}
private function uploadHandler(event:MouseEvent):void {
_fileReference.upload(new URLRequest("simpleFileUpload.php"));
}
private function progressHandler(event:ProgressEvent):void {
trace("file uploading\noprogress (bytes): "+ event.bytesLoaded + "/ "+ event.bytesTotal);
}
private function ioErrorHandler(event:IOErrorEvent):void {
trace("an IO error occurred");
}
private function securityHandler(event:SecurityErrorEvent):void {
trace("a security error occurred");
}
private function completeHandler(event:Event):void {
trace("the file has uploaded");
}
}
}