File Upload : FileReference « Development « Flash / Flex / ActionScript






File Upload

 
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 = "<u>click to browse file</u>";
        _browse.addEventListener(MouseEvent.CLICK, browseHandler);
        addChild(_browse);

        _upload.htmlText = "<u>click to upload file</u>";
        _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");
    }
}
}

        








Related examples in the same category

1.Downloading Files
2.Uploading Files
3.uses a FileReferenceList and displays the details of each file that was selected
4.Listener to select and Cancel event from FileReference
5.Retrieving File Properties