FileReference
FileReference 实例的创建方式如下:
- 当将
new
运算符与 FileReference 构造函数一起使用时:var myFileReference = new FileReference();
- 当调用
FileReferenceList.browse()
方法时,该方法将创建一个 FileReference 对象数组。
在上载操作期间,FileReference 对象的所有属性通过调用 FileReference.browse()
或 FileReferenceList.browse()
方法来填充。在下载操作期间,name
属性在调度 select
事件时得到填充,所有其它属性在调度 complete
事件时得到填充。
browse()
方法打开一个操作系统对话框,提示用户选择要上载的文件。FileReference.browse()
方法允许用户选择一个文件;FileReferenceList.browse()
方法允许用户选择多个文件。成功调用 browse()
方法后,调用 FileReference.upload()
方法以每次上载一个文件。FileReference.download()
方法提示用户提供文件的保存位置并开始从远程 URL 进行下载。
FileReference 类和 FileReferenceList 类不允许为 browse()
或 download()
生成的对话框设置默认文件位置。对话框中显示的默认位置是最近浏览过的文件夹(如果可以确定该位置)或桌面。这些类不允许对已传输的文件进行读取或写入。它们也不允许启动上载或下载的 SWF 文件访问已上载或下载的文件或用户磁盘上文件的位置。
package war
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.net.FileFilter;
import flash.net.FileReference;
public class LoadPic extends Sprite
{
private var file:FileReference = new FileReference();
private var loader:Loader = new Loader();
public function LoadPic()
{
file.browse([new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg;*.jpeg;*.gif;*.png")]);
file.addEventListener(Event.SELECT,onSelect);
}
private function onSelect(evt:Event):void
{
file.addEventListener(Event.COMPLETE,onComplete);
file.load();
}
private function onComplete(evt:Event):void
{
file.removeEventListener(Event.COMPLETE,onComplete);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoadComplete);
loader.loadBytes(file.data);
}
private function onLoadComplete(e:Event):void
{
var tempData:BitmapData=new BitmapData(loader.width,loader.height,false,null);
tempData.draw(loader);
var bitmap:Bitmap=new Bitmap(tempData);
addChild(bitmap);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,onLoadComplete);
}
}
}