欢迎来到山村网

Flex上传本地图片并提前浏览的实现方法

2019-03-02 11:18:23浏览:536 来源:山村网   
核心摘要:个性头像最终需要上传到服务器的文件系统中,但是程序希望在用户选择后直接有个预览,针对这个问题,下面有个不粗的实现,希望对

个性头像最终需要上传到服务器的文件系统中,但是程序希望在用户选择后直接有个预览,针对这个问题,下面有个不粗的实现,希望对大家有所帮助

经常会设计一个这样的功能,比如更改个性头像,这个个性头像最终需要上传到服务器的文件系统中,但是程序希望在用户选择后直接有个预览,然后用户才进行上传。这个功能技术上其实就是需要对本地的文件能进行读取。在flash player10中有个类FileReference的类可以实现这个功能,而实现对文件读取的接口是load( )函数,要注意的是:a、这个函数只能在UI操作中使用,比如用户按下按钮。b、加载进来后的本地文件无法在AS中使用c、这个接口是一个异步的过程,也就不是马上就加载进来,需要加Listener来操作。下面是参考代码代码如下:<?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/mx" minWidth="955" minHeight="600"creationComplete="creationCompleteHandler(event)"><fx:script><![CDATA[import flash.net.FileReference;import flash.net.FileFilter;import flash.events.IOErrorEvent;import flash.events.Event;private var fr:FileReference;private var imageTypes:FileFilter;private function creationCompleteHandler(event:Event):void {fr = new FileReference();imageTypes = new FileFilter("Images (*.jpg, *.jpeg, *.png, *.gif)","*.jpg; *.jpeg; *.png; *.gif;")fr.addEventListener(Event.SELECT, selectHandler);//增加当打开浏览文件后,用户选择好文件后的Listener}private function browseHandler(event:Event):void {fr.browse([imageTypes]);//打开浏览文件的dialog}private function selectHandler(event:Event):void {fr.addEventListener(Event.COMPLETE, onLoadComplete);//增加一个文件加载load完成后的listenerfr.load(); //加载用户选中文件}private function onLoadComplete(e:Event):void{imgPhoto.source = fr.data;}]]></fx:script><s:layout><s:BasicLayout/></s:layout><fx:Declarations><!-- 将非可视元素(例如服务、值对象)放在此处 --></fx:Declarations><mx:Image id="imgPhoto" visible="true" autoLoad="true" width="1000" height="500"/><mx:Button id="btnBrowse" label="Browse" click="browseHandler(event)" /></s:Application>
(责任编辑:豆豆)
下一篇:

flex导出excel具体实现

上一篇:

flex调用webservice中的自定义类的方法

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com