Question: Flex 3.5 或 Flex 4 + pureMVC + BlazeDs + Java 1.6.0_18 + Spring + Hibernate 环境下开发的App, 在做上传导入文件时,遇到了浏览器兼容问题。
在IE下,导入完全没问题;但在Firefox 下导入失败。跟踪Service 发现用Firefox 做导入请求时,该请求对象中未携带session信息导致的。查阅了API,没找到有效的解决办法。用IE和Firefox 做导入时,Service端取得的信息如下:
Solution: 在UI端做上传请求的URL中人为地添加sessionid信息。 var sessionId: String = ApplicationFacade.getInstance().currentUser.sessio nId; _url = _url.replace("?", ";jsessionid=" + sessionId + "?"); Importer.as 类如下: public class Importer { public static function upload(displayObj:DisplayObject,url:String):void { var _url:String = url; var parentObj:DisplayObject = displayObj; var file:FileReference =new FileReference(); openFile(); var pb:PopupProgressBar = PopUpManager.createPopUp(parentObj,PopupProgressBa r, true) as PopupProgressBar; file.addEventListener(ProgressEvent.PROGRESS, onProgress); file.addEventListener(Event.SELECT, onSelect); file.addEventListener(Event.CANCEL,onCancel); file.addEventListener(DataEvent.UPLOAD_COMPLETE_DA TA, uploadComplateHandler); file.addEventListener(IOErrorEvent.IO_ERROR,errorH andler); function uploadComplateHandler(event : DataEvent) : void { PopUpManager.removePopUp(pb); } function errorHandler(evt:IOErrorEvent):void { PopUpManager.removePopUp(pb); } function onCancel(evt:Event):void { PopUpManager.removePopUp(pb); } function onProgress(e:ProgressEvent):void { pb.importProgess(true); PopUpManager.centerPopUp(pb) } function openFile():void { file.browse([new FileFilter("File Type(*.csv)", "*.csv;")]); } function onSelect(e:Event):void { proceedWithUpload(); } function proceedWithUpload():void { try { var sessionId: String = ApplicationFacade.getInstance().currentUser.sessio nId; _url = _url.replace("?", ";jsessionid=" + sessionId + "?"); var request:URLRequest = new URLRequest(_url); request.method = URLRequestMethod.POST; file.upload(request, "file"); } catch (error:Error) { PopUpManager.removePopUp(pb); Alert.show("upload failed"); } } } }
发表评论
-
有关不调用库函数的字符串操作!
2012-07-06 09:52 708此博客仅作工作、学习,以及技术共享、交流之用。 你可以以 ... -
#笔试#字符串 匹配 正则表达式 C++
2012-07-06 09:46 866同学去上海同济城市规划设计研究院时要求上机写的题目 写 ... -
详细设计文档规范
2012-07-06 09:30 670i am now in university(HI ... -
模拟Google首页(dwr实现ajax) 弹出补全搜索结果
2012-07-05 20:45 912上周末听了在用友工作的两个学长的一个小讲座,虽然时间不长, ... -
初步认识view组件焦点切换原理
2012-07-03 13:44 783这段时间因为自己要实现一套组件焦点切换机制,今天认真研究了 ... -
Flex 调用WEBService 接口实现天气预报功能.
2012-07-02 12:47 638height="364" ... -
Flex做的颜色器
2012-07-02 12:47 554此效果用对象的toString()方法来格式化输出字符串类 ... -
flex LineChart 的demo
2012-07-02 12:47 601... -
[ActionScript3.0][My flex]读书笔记四之 图标模块应用实例
2012-07-02 12:47 5401.chartdata.xml 2.MyCo ... -
flex显示数字时钟和日期
2012-07-02 12:47 634private function init():void{ ... -
Flex代码覆盖率测试工具
2012-07-01 10:11 761lex代码覆盖率测试工具 作者:忙碌命 1.支持函 ... -
Event propagation事件传播
2012-07-01 10:11 684当事件被触发时,F ... -
flex学习-----事件机制的工作流程
2012-07-01 10:11 5208.2 事件机制的工作流程 8.2.1 关于事件流 ... -
Flex事件机制一
2012-07-01 10:11 502一:事件流机制 由于OOP编程将程序看成一个个对象、 ... -
Flex缓存客户端
2012-06-30 16:36 498Flex缓存客户端 2010年11 ... -
flex草芥回收机制.
2012-06-30 16:36 487flex草芥回收机制. 2011年07月19日 原文Un ... -
Flash Game Development with Flex and Actionscript(一)
2012-06-30 16:36 339Flash Game Development with Fle ... -
使用Flex和Actionscript开发Flash游戏―(十)
2012-06-30 16:36 259使用Flex和Actionscript开发 ...
相关推荐
flex 利用FileReference上传firefox报2038错误,在网上收集的一些解决办法和资料
Flex与.NET互操作 使用FileReference+HttpHandler实现文件上传/下载
FLEXd多文件上传,上传前MD5验证允许那些文件可以上传
Flex与.NET互操作(五):使用FileReference+HttpHandler实现文件上传/下载 一文的源码的完整工程文件,包含FLEX客户端和 ASP.NET服务端源码! 在VS2010和FLash builder4 中运行!
param.ItemDate = (this.parameters.ItemDate == undefined || this.parameters.ItemDate == "") ? 31457280 : this.parameters.ItemDate;//ItemDate单文件大小限制,-1表示不限制,默认值为30M ...
Flex Builder 3 下载安装与项目创建详细说明 Flex中利用FileReference类下载文件的例子| 中文Flex例子
在项目开发过程中,经常会遇到文件上传下载的...但在flex中由于安全沙箱的原因flex程序不能直接访问本地文件,但是flex SDK中提供了FileReference和FileReferenceList两个类,可以通过这两个类来实现文件的上传下载。
flex 打开本地图片并进行显示 var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onLoadByted); loader.loadBytes(this.fileReference.data);
fl包可用于纯as工程的ui应用,而filereference则是官方的demo
flex语言编写的,把xml内容存成xml文件保存到指定的位置!
请使用“flex 文件上传下载完整代码(修正版)”http://download.csdn.net/source/1815266
FileReferenceList 类或者FileReference 一个是多个上传一个是单个上传。用这2个类通过Java实现文件图片上传。
flex 导出excel工具包 用法如下: import com.as3xls.xls.ExcelFile; import com.as3xls.xls.Sheet; import mx.collections.ArrayCollection; import mx.controls.DataGrid; import mx.controls.dataGridClasses....
完成的文件上传功能。使用FileReference类实现。还有多文件上传
通过flash.net.FileReference实现打开本地图片或音乐目录,有滤镜,可以设路径,仿照千千静听的波幅显示
鉴于adobe并没有提供FileReference对浏览的文件的完整路径的接口。只能采用JS和fileinput控件来获取本地路径了。
Adobe flash3 AIR 更新 中文 Adobe flash3 AIR 更新 中文
import flash.net.FileReference; var allTypes:Array = new Array(); var imageTypes:Object = new Object(); imageTypes.description = "Images (*.jpg, *.jpeg, *.gif, *.png)"; //指示可以上传的文件类型 ...
在全屏模式下播放视频 流式传输视频文件 了解提示点 编写元数据和提示点的回调方法 使用提示点和元数据 监控NetStream活动 视频文件的高级主题 视频示例:视频自动唱片点唱机 使用StageVideo类来实现硬件加速呈现 第...
如果你和我遇见一样的问题:用actionscript写一个需要操作本地文件(比如excel文件)之后批量导出jpg的工具,那么filereference不支持在没鼠标操作的情况下一次性多操作,你可以用zip的方式,单击鼠标,批量保存。