Flash / Flex / ActionScript/Development/FileReference

Материал из Web эксперт
Перейти к: навигация, поиск

Downloading Files

 
package{
  import flash.display.Sprite;
  import flash.net.*;  
  public class Main extends Sprite{
    public function Main(){
        var fileReference:FileReference = new FileReference(  );
        var urlRequest:URLRequest = new URLRequest("example.txt");
        fileReference.download(urlRequest);
    }
  }
}



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.ruPLETE, 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");
    }
}
}



Listener to select and Cancel event from FileReference

 
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.net.FileReference;
    public class Main extends Sprite {
        private var _browse:TextField = new TextField();
        private var _fileReference:FileReference= new FileReference();
        public function Main() {
            _browse.htmlText = "<u>click to browse files</u>";
            _browse.addEventListener(MouseEvent.CLICK, clickHandler);
            addChild(_browse);
            _fileReference.addEventListener(Event.SELECT, selectHandler);
            _fileReference.addEventListener(Event.CANCEL, cancelHandler);
        }
        private function clickHandler(event:MouseEvent):void {
            _fileReference.browse();
        }
        private function selectHandler(event:Event):void {
            trace("Selected File");
        }
        private function cancelHandler(event:Event):void {
            trace("Canceled");
        }
    }
}



Retrieving File Properties

 
package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.net.FileReference;
    public class Main extends Sprite {
        private var _browse:TextField = new TextField();
        private var _fileReference:FileReference = new FileReference();
        public function Files() {
            _browse.htmlText = "<u>click to browse files</u>";
            _browse.addEventListener(MouseEvent.CLICK, clickHandler);
            addChild(_browse);
            _fileReference.addEventListener(Event.SELECT, selectHandler);
            _fileReference.addEventListener(Event.CANCEL, cancelHandler);
        }
        private function clickHandler(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);
        }
        private function cancelHandler(event:Event):void {
            trace("Canceled");
        }
    }

}



Uploading Files

 
package{
  import flash.display.Sprite;
  import flash.net.*;  
  public class Main extends Sprite{
    public function Main(){
        
        var fileReference:FileReference = new FileReference(  );
  
        var urlRequest:URLRequest = new URLRequest("uploadScript.cgi");
        fileReference.upload(urlRequest);
        fileReference.upload(urlRequest, "UploadFile");

    }
  }
}



uses a FileReferenceList and displays the details of each file that was selected

 
package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.net.FileReference;
    import flash.net.FileReferenceList;
    public class Main extends Sprite {
        private var _browse:TextField = new TextField();
        private var _fileReferenceList:FileReferenceList;
        public function Main() {
            _browse.htmlText = "<u>click to browse files</u>";
            _browse.addEventListener(MouseEvent.CLICK, clickHandler);
            addChild(_browse);
            _fileReferenceList = new FileReferenceList();
            _fileReferenceList.addEventListener(Event.SELECT, selectHandler);
            _fileReferenceList.addEventListener(Event.CANCEL, cancelHandler);
        }
        private function clickHandler(event:MouseEvent):void {
             _fileReferenceList.browse();
        }
        private function selectHandler(event:Event):void {
            _output.text = "Selected Files";
            var file:FileReference;
            for(var i:Number = 0; i < _fileReferenceList.fileList.length; i++) {
                file = _fileReferenceList.fileList[i];
                trace("\nName: "+ file.name);
                trace("\nSize: "+ file.size);
                trace("\nCreated On: "+ file.creationDate);
                trace("\nModified On: "+ file.modificationDate);
                trace("\n----------------------------------");
            }
        }
        private function cancelHandler(event:Event):void {
            trace("Canceled");
        }
    }
}