FileReference的load()方法加载本地图片

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);
		}  
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值