Flex上传图片前浏览

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/halo" 
      minWidth="1024" minHeight="768"
      creationComplete="init()">
 <s:layout>
  <s:VerticalLayout gap="20" horizontalAlign="center" paddingBottom="25" paddingLeft="25" paddingRight="25" paddingTop="25"/>
 </s:layout>
 <fx:Declarations>
  <!-- Place non-visual elements (e.g., services, value objects) here -->
 </fx:Declarations>
 <fx:Script>
  <![CDATA[
   
   private var _fileReference:FileReference=new FileReference();
   private var _byteArray:ByteArray;
   private var _bitmapData:BitmapData;
   //Loader 类可用于加载 SWF 文件或图像(JPG、PNG 或 GIF)文件。使用 load() 方法来启动加载。
   private var _loader:Loader=new Loader();
   
   private function init():void
   {
    //在文件加载操作成功完成时分派。
    _fileReference.addEventListener(Event.COMPLETE,fileReferenceCompleteHandler);
   }
   private function fileReferenceCompleteHandler(event:Event):void
   {
    //data : ByteArray--[只读] 成功调用 load() 方法之后代表所加载文件中的数据的 ByteArray 对象。
    _byteArray=_fileReference.data;
    //contentLoaderInfo属性:返回与正在加载的对象相对应的 LoaderInfo 对象。
    //LoaderInfo 对象在 Loader 对象和加载的内容对象之间共享。LoaderInfo 对象提供有关加载的文件的加载进度信息和统计。
    _loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaderCompleteHandler);
    _loader.loadBytes(_byteArray);
   }
   private function loaderCompleteHandler(event:Event):void
   {
    //content : DisplayObject--[只读] 包含使用 load() 或 loadBytes() 方法加载的 SWF 文件或图像(JPG、PNG 或 GIF)文件的根显示对象。
    var _bitmap:Bitmap=Bitmap(_loader.content);
    _bitmapData=_bitmap.bitmapData;
    img.source=_bitmap;
   }
   private function fileReferenceSelectHandler(event:Event):void
   {
    //开始加载用户选择的本地文件
    _fileReference.load();
   }
   
   protected function button1_clickHandler(event:MouseEvent):void
   {
    //文件过滤器
    var _imageTypes:FileFilter = new FileFilter("图片(*.jpg, *.jpeg, *.gif, *.png)", "*.jpg; *.jpeg; *.gif; *.png");
    //显示一个文件浏览对话框,让用户选择要上载的文件。
    //参数:一个 FileFilter 实例数组,用于过滤在对话框中显示的文件。如果省略此参数,则显示所有文件。
    _fileReference.browse([_imageTypes]);
    //监听文件选择事件
    _fileReference.addEventListener(Event.SELECT,fileReferenceSelectHandler);
   }
   
  ]]>
 </fx:Script>
 <s:Button label="选择..." click="button1_clickHandler(event)"/>        
 <s:BitmapImage id="img" maxHeight="600" maxWidth="800"/>
</s:Application>


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值