Flex中调用FileReference.download()方法的限制【已解决】


  [2011-04-21 02:11:24] 问题解决。原因在于Flash Player 10的安全限制,只能确保下载由用户交互事件发起,暂时绕不过去。即使按照上面两个帖子的方法,使用回调函数或动态添加侦听事件等都没法生效,可能是水平有限吧。
  搞一天了,最后还是总结下几种解决方案:
  1、在Flash Player 10 + FileReference下,要解决只能确保下载由用户交互事件发起,比如弹出确认框由用户点击确认后再下载。
  2、Flash Player + Octet-stream。不用FileReference。
  3、Flash Player 9 + FileReference。无安全限制。
  参考信息:
  http://forums.adobe.com/message/2848670
  今天准备实现一个附件管理程序的一个功能,整体思路是点击下载按钮后,先与服务器交互得到附件的实际下载URL,再使用FileReference.download()下载至本地。
  测试中出现问题,错误提示:Error: Error #2176: 某些动作(如显示弹出窗口的动作)只能通过用户交互来调用,例如,单击鼠标或按下按钮。
  经查问题出现在得到附件下载地址后,调用FileReference.download()准备打开文件下载对话框时。Google了几个小时,也做了一堆测试,还是没得到解决。先把问题扔着吧,改天再研究。解决方法见下。
  参考信息:
  http://topic.csdn.net/u/20100928/12/ad4dfa6a-50a3- 4af8-aa53-ac9e383e19d9.html
  http://bbs.airia.cn/home-space-uid-80501-do-blog-i d-756.html

猜你喜欢

转载自wok71wok.iteye.com/blog/1572931