flash上传图片文件的问题

参考:

http://bbs.9ria.com/thread-51177-1-1.html


有很多朋友想加载本地文件,却苦于无法获取文件路径?
    有很多朋友问到为什么API里FileReference有load()方法和data属性却不能使用?
      我也曾经有次困惑,但是如今解决了,现在与大家分享。
    1、要想使用FileReference的load()方法和data属性需要使用flashplayer 10的版本,sdk3.5(sdk4.0肯定也可以,其他本版各位可以去试试),然后还要添加playerglobal.swc,在你所用的sdk包下面,我这里的路径是sdk3.5.0.12683/frameworks/libs/player/10/playglobal.swc,至此OK了,你再使用FileReference.load()或FileReference.data时就不会看到“调用可能未定义的方法”等不舒服的字眼了,吼吼。
    2、下面就可以用load()方法加载图片了
    var file:FileReference=new FileReference();
      var loaderoader=new Loader();
      private function onClick(e:MouseEvent):void
      {
          file.browse();
          file.addEventListener(Event.SELECT,onSelect);
      }
      private function onSelect(e:Event):void
      {
          file.load();
          file.addEventListener(Event.COMPLETE,onComplete);
          file.removeEventListener(Event.SELECT,onSelect);
      }
      private function onComplete(e:Event):void
      {
          file.removeEventListener(Event.COMPLETE,onComplete);
          loader.loadBytes(file.data);
          loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoadComplete);
      }
      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);
      }  
      以上心得也不是我一个人搞出来的,第一点就是pizzaman教我的,也参考了网友的博客,特别感谢,作此整理是为了方便大家,呵呵

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值