Flash / Flex / ActionScript/Development/FileReference
Содержание
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");
}
}
}