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

Flex上次本地图片并浏览

发布时间:2020-12-15 04:01:38 所属栏目:百科 来源:网络整理
导读:经常会设计一个这样的功能,比如更改个性头像,这个个性头像最终需要上传到服务器的文件系统中,但是程序希望在用户选择后直接有个预览,然后用户才进行上传。这个功能技术上其实就是需要对本地的文件能进行读
经常会设计一个这样的功能,比如更改个性头像,这个个性头像最终需要上传到服务器的文件系统中,但是程序希望在用户选择后直接有个预览,然后用户才进行上传。这个功能技术上其实就是需要对本地的文件能进行读取。在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完成后的listener	
				fr.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>

(编辑:李大同)

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

    推荐文章
      热点阅读