参考:
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 loader oader=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教我的,也参考了网友的博客,特别感谢,作此整理是为了方便大家,呵呵 |
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|