- 浏览: 20043 次
- 性别:
- 来自: 深圳
最新评论
Flex 文件上传导入组件
- 博客分类:
- 技术杂绘
上文讲到Flex利用Blazeds来上传文件,本文则封装了一个组件用于文件的上传导入,其主要功能有:
1)文件的选择;
2)文件类型的限定,比如只能选择txt文件,图片文件等;
3)文件上传,利用Blazeds;
4)文件导入,利用Blazeds;
5)上传、导入的事件分发;
1、文件上传组件核心代码 flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="300" height="28" creationComplete="init()"> RemoteObject id="ro" destination="fileUpDownloadService" result="ro_resultHandler(event)" fault="ro_faultHandler(event)"/> --> [Event(name="result", type="event.FileImportEvent")] [Event(name="fault", type=" event.FileImportEvent")] RemoteObject(); ro.channelSet = FXConfig.getAMFChannel(); ro.destination = "fileUpDownloadService";//fileUpDownloadService ro.addEventListener(ResultEvent.RESULT,ro_resultHa ndler); ro.addEventListener(FaultEvent.FAULT,ro_faultHandl er); } private function completeHandler(event:Event):void { //trace("completeHandler: " + event); } private function selectHandler(event:Event):void { this.txtFileInfo.text = file.name; this.txtFileInfo.toolTip = "文件大小: "+file.size/1000+ "K";
file.load(); //加载文件
}
/**
* 设置文件过滤,打开文件选择框时刻选择哪些类型的文件
* FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg;*.jpeg;*.gif;*.png")
*/
public function set fileFilter(fileType:String):void{
if(!StringUtil.isEmpty(fileType) && StringUtil.trim(fileType).length>3){
_fileFilter = [];
_fileFilter.push(new FileFilter("("+fileType+")",fileType));
}
}
// Property: maxFileSize,Flash Player Limit 100 mb
private var _maxFileSize:Number = 1024*1024*20;
[Bindable]
/**
* 读取和设置文件最大尺寸,单位为Byte,1K = 1024Byte,默认值为20M
*/
public function get maxFileSize():Number
{
return _maxFileSize;
}
public function set maxFileSize(size:Number):void
{
_maxFileSize = size;
}
private function checkFile():Boolean{
var blnResult:Boolean = true;
if(StringUtil.isEmpty(txtFileInfo.text)){
Alert.show("请选择要上传的文件!");
return false;
}
if(file.size>_maxFileSize){ //文件大小验证失败
Alert.show(StringUtil.format("该文件尺寸{0} 超出最大尺寸 {1}.",file.size/1000,_maxFileSize/1000));
blnResult = false;
}
if(file.data==null){
Alert.show("文件正在加载中,请稍等!");
blnResult = false;
}
return blnResult;
}
protected function btnBrowse_clickHandler(event:MouseEvent):void
{
file.browse(_fileFilter);//打开文件选择框
}
protected function btnDelete_clickHandler(event:MouseEvent):void
{
//删除远程服务器的文件
//清空txtFileInfo
txtFileInfo.text = "";
txtFileInfo.toolTip = "";
} protected function ro_resultHandler(event:ResultEvent):void { this.dispatchEvent(new FileImportEvent(FileImportEvent.RESULT,event.resul t)); } protected function ro_faultHandler(event:FaultEvent):void { this.dispatchEvent(new FileImportEvent(FileImportEvent.FAULT,null,event.f ault)); } public function importFile(headers:Array):Boolean{ var isSuccess:Boolean = checkFile(); if(isSuccess){ ro.importFile(file.data,headers,file.type); } return isSuccess; } public function uploadFile():Boolean{ var isSuccess:Boolean = checkFile(); if(isSuccess){ ro.uploadFile(file.data,file.type); } return isSuccess; } ]]>
2、FileImportEvent事件 package event { import flash.events.Event; import mx.rpc.Fault; publicclass FileImportEvent extends Event { publicstaticconst RESULT:String = "result"; publicstaticconst FAULT:String = "fault"; // privatevar _result:Object; privatevar _fault:Fault; // publicfunction FileImportEvent(type:String, result:Object=null, fault:Fault=null) { super(type,true); this._result = result; this._fault = fault; } // publicfunctionget result():Object{ return _result; } publicfunctionset result(value:Object):void{ _result = value; } // publicfunctionget fault():Fault{ return _fault; } publicfunctionset fault(value:Fault):void{ _fault = value; } } } 3、示例 flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="800" minHeight="600" creationComplete="init()" width="370" height="180" xmlns:fileupload="whh.flex.controls.fileupload.*">
发表评论
-
字符串Hash函数对比
2012-07-06 09:51 921今天根据自己的理 ... -
正则表达式中的换行
2012-07-06 09:45 5037正则表达式在处理字符串的时候,效率很高。但是需要熟练掌握, ... -
第 32 章 正则表达式
2012-07-06 09:37 705以前我们用grep在一 ... -
Flex基于FXG仪表盘(附全部源代码)二
2012-07-06 09:30 1682上文我们已经完成一个仪表盘的fxg,然后把我们的fxg转化 ... -
使用js高亮菜单中属于当前页,显示网页路径,
2012-07-05 20:45 714使用js高亮菜单中属于当前页,显示网页路径, 收藏 ... -
Excel导出组件
2012-07-03 13:42 678在浙江移动的一个 ... -
学习flex 初步实现与java进行数据交互
2012-07-02 10:24 520本人是从事BS架构 ... -
Flex嵌入jsp开发心得
2012-07-02 10:24 509PM搞了个外包的小项目,要求使用jsp显示数据统计图表。研 ... -
将flex组件添加到papervision3d
2012-07-02 10:24 537上一篇文章介绍了 ... -
关于Flex4工程和 Alternativa3D 7.5.1的疑问
2012-07-02 10:24 714原文:http://bbs.9ria.com/thread ... -
Flex DataGrid 控件知识汇总,创建、全选、删除、分页、样式
2012-07-01 09:43 945DataGrid控件是一个可以展示多列数据的列表控件。它是 ... -
flex与数据库交互
2012-07-01 09:43 528Flex最近学了,但是感觉使用Flex与数据库交互,是可以 ... -
Flex和Java 整合
2012-07-01 09:43 708Flex和Java 整合有几种方法,最常见的是: 一 ... -
采用数据库为Flex Tree组件的提供数据-FlexTree组件
2012-07-01 09:43 598FlexTree组件 Tree 数据格式以为: ... -
关于ubuntu更新完compiz出现没有标题栏的解决方法
2012-06-30 17:59 1042关于ubuntu更新完compiz出现没有标题栏的解决方法 ... -
恢复9.10Grub引导过程的离奇经历以及解决方法
2012-06-30 17:59 674昨天师兄找我帮忙 ... -
Validation of viewstate MAC failed. 解决方法
2012-06-30 17:58 835专注于web技术,但是不要沉湎于其中,开心就好! ... -
Argument list too long 错误解决方法汇总
2012-06-30 17:58 1999这篇文章是回复前几天在论坛一个朋友提出的问题,今天有空,整 ...
相关推荐
一个flex的文件上传组件,带进度条的。
flex文件上传下载组件,java和flex的代码,servlet上传下载,可以实现多文件
Flex 多文件上传组件,封装的很好哦。 不明白的可参看 http://zhengjunxiang.iteye.com/admin/blogs/1565493
Flex文件上传组件..........................
Flex 组件Flex 组件Flex 组件Flex 组件Flex 组件
flex excel文件导入到出 DataGrid
Flex 文件上传的文件代码 交你一步一步的完成上传功能
flex文件上传下载,节省服务器资源,提高服务器性能.
Flex3组件介绍,包含flex3的所有组件介绍并有例子
Flash多文件上传组件(Flex版) 通过嵌入flash到网页中,就可以实现多文件上传,使用非常方便.
实现文件上传下载到数据中,有上传精度条显示,可以上传MP3,MP4,txt等各种文件,可以再线浏览txt,word,excel等文件。
这个是我一直在用的针对于组件全屏的一个类,这里是页面上的某个组件全屏,而不是整个页面全屏。 这是原始的库了,里面少了一个针对按下ESC键的处理,这个在使用的时候可以自己加,另外一个问题就是由于这个库是FLEX...
Flex文件上传(某GIS系统,我负责的文件上传部分),有详细代码及注释。希望跟朋友们交流下。
用Flex实现的文件上传组件源码
Flex布局之关于组件的大小 Flex布局之关于组件的大小
//TotalCount总上传文件数量限制,-1表示不限制,默认值为50 param.Ext = (this.parameters.Ext == undefined || this.parameters.Ext == "") ? "*.*" : this.parameters.Ext;//上传的文件类型类型限制,...
Flex 和java文件上传,写得比较详细。多交流交流 欢迎大家下载
NULL 博文链接:https://merrygrass.iteye.com/blog/643203
Flex Builder4.5导入Excel和CSV文件到DataGrid中,并自定义DataGrid选中行的右键