加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex中读取本地文件[图像为例]

发布时间:2020-12-15 01:02:02 所属栏目:百科 来源:网络整理
导读:? 经常会设计一个这样的功能,比如更改个性头像,这个个性头像最终需要上传到服务器的文件系统中,但是程序希望在用户选择后直接有个预览,然后用户才进行上传。这个功能技术上其实就是需要对本地的文件能进行读
? 经常会设计一个这样的功能,比如更改个性头像,这个个性头像最终需要上传到服务器的文件系统中,但是程序希望在用户选择后直接有个预览,然后用户才进行上传。这个功能技术上其实就是需要对本地的文件能进行读取。在flash player10(flash palayer 的版本应大于等于10)中有个类FileReference的类可以实现这个功能,而实现对文件读取的接口是load( )函数,要注意的是: a、这个函数只能在UI操作中使用,比如用户按下按钮。b、加载进来后的本地文件无法在AS中使用 c、这个接口是一个异步的过程,也就不是马上就加载进来,需要加Listener来操作。下面是参考代码 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" xmlns:dg="DataGrid.*" ?? ? creationComplete="init(event)"> ?? ? ?? ?<mx:Script> ?? ??? ?<![CDATA[ ?? ??? ??? ?import flash.events.IOErrorEvent; ?? ??? ??? ?import flash.events.Event; ?? ??? ??? ?import flash.net.FileReference; ?? ??? ??? ?import flash.net.FileFilter; ?? ??? ??? ?import mx.controls.Alert; ?? ??? ??? ?private var fr:FileReference; ?? ??? ??? ?private var imageTypes:FileFilter; ?? ??? ??? ?private function init(event:Event):void{ ?? ??? ??? ??? ?fr=new FileReference(); ?? ??? ??? ??? ?imageTypes=new FileFilter("Images (*.jpg,*.jpeg,*.png,*.gif)","*.jpg; *.jpeg; *.png; *.gif;"); ?? ??? ??? ??? ?//增加当打开浏览文件后,用户选择好文件后的listener ?? ??? ??? ??? ?fr.addEventListener(Event.SELECT,selectHandler); ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ??? ?private function selectHandler(event:Event):void{ ?? ??? ??? ??? ?//增加一个文件加载load完成后的listener ?? ??? ??? ??? ?fr.addEventListener(Event.COMPLETE,onLoadComplete); ?? ??? ??? ??? ?fr.load();//加载用户选中文件 ?? ??? ??? ??? ? ?? ??? ??? ?} ?? ??? ??? ?private function onLoadComplete(event:Event):void{ ?? ??? ??? ??? ?imgPhoto.source=fr.data; ?? ??? ??? ?} ?? ??? ??? ?private function browseHandler(event:Event):void{ ?? ??? ??? ??? ?fr.browse([imageTypes]); ?? ??? ??? ?} ?? ??? ??? ?private function imageIOErrorHandler(event:IOErrorEvent):void{ ?? ??? ??? ??? ?Alert.show(event.text); ?? ??? ??? ?} ?? ??? ??? ? ?? ??? ?]]> ?? ?</mx:Script> ?? ? ?? ?<mx:Image id="imgPhoto" visible="true" autoLoad="true" width="100" height="100" ioError="imageIOErrorHandler(event)"/> ?? ?<mx:Button id="btnBrowse" label="Browse" click="browseHandler(event)"/> ?? ? </mx:Application>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读