Flex在火狐下上传文件报错,IE下正常
1、背景 系统采用Spring开发,现在增加从Flex上传文件到服务器的功能。 采用的是FileReference对象完成,但是出现在IE下正常,FF失败的情况。 经过网上查找文章,发现: Firefox中,FileReference使用的URLRequest和Flash所在页面用的不同的Session. 所以如果你的系统集成了,Spring-security或者其它的权限控制组件,一定要注意把上传的路径设置不拦截!! 因为之前权限组件设置拦截了所有请求,flash每次也只是报#2038 文件I/O 错误,所以一直不得解。-_-||| 参考文章:http://www.voidcn.com/article/p-afirokve-xz.html 在Flex中使用FileReference上传文件的时候,遇到了一个很怪的问题。文件上传在IE中一切正常,而在Firefox中总是失败。Debug后发现,firefox中上传文件时,请求总是没有验证。用google一把,发现原因是: Firefox中,FileReference使用的URLRequest和Flash所在页面用的不同的Session. 所以即使你已经登录,由于上传的请求用的是不同的Session,服务器无法得知请求已经验证。 Adobe文档如此解释
The FileReference and FileReferenceList classes also do not providemethods for authentication. With servers that require authentication,you can download files with the Flash? Player browserplug-in,but uploading (on all players) and downloading (on thestand-alone or external player) fails. Listen for FileReference eventsto determine whether operations complete successfully and to handleerrors.
翻译过来就是 FileReference 不支持验证功能。 [b]解决方法 [/b]1. 不使用FileReference,而使用form post上传文件。这样和普通的Html页面一样了。 2. 将Session id传到服务器。 如果你使用的Server是TomCat/JSP 可以如下添加SessionID. var request:URLRequest = new URL Request("http://www.[your url].com" + ";jsessionid=" _yoursessionid); 3. 不验证Session,而检查上传ID。比如每次上传前,服务器生成一个ID,上传的时候把这个传ID作为URLRequest的参数传过去。 4. 等待adobe发布hotfix. 有人知道怎么在Asp.net中把Session ID和URL一起传到服务器,而且服务器使用这个SessionID表示的Session吗? 我没有找到答案。 Firefox下flex无法上传文件的问题修复 http://www.voidcn.com/article/p-ytdsllbc-xz.html 因为firefox是通过单独进程来实现flex的上传的,而这个单独进程并没有传递当前的cookie信息,从而服务器无法得知这个上传进程的session,所以导致各种各样的问题。 Flash中使用Filereference上传文件的一些注意事项 ?
http://www.voidcn.com/article/p-omyozpmd-xz.html
FileReference用来上传文件,结合FileReferenceList使用,可以弹出一次文件选择框就上传很多个文件,比HTML form形式的友好很多。但是使用的时候,有些地方需要注意的:
Flash站技术应用(7)—FileReference路径获取问题(FF也解决)http://space.flash8.net/bbs/thread-323969-1-1.htmlflex文件上传filereference.upload出现Error #2038: 文件 I/O 错误。 http://www.voidcn.com/article/p-eavardou-pc.html 这段时间在做上传这块,总是会遇到 ?Error #2038: 文件 I/O 错误。 可以检查以下问题:
- URL无效 - 上传文件大小超过服务器最大上传限制或最大POST限制 - 与服务器连接异常中断 - 上传的文件为空 - 文件(夹)权限 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |