我正在尝试使用在 Firefox 4 中运行的 Flex 应用程序中的 FileReference 执行文件上传。但是,当我尝试调用 upload() 方法时,Filereference 会引发 IOError 并显示以下内容
Error #2038: File I/O Error. URL: http://localhost:8080/admin/upload
如果我没有为 IOErrorEvent 显式添加侦听器,那么我会收到一个 Flash 播放器弹出窗口说明
SecurityError: Error #2000: No active security context.
该请求甚至没有到达我的服务器(我可以通过在 Java 代码中放置断点并观察使用 HTTPFox 发出的 HTTP 请求来验证),所以在我看来这是一个客户端问题(对吗?)。我已经在 google 上搜索了一些问题,建议包括将 upload() 调用包装在 timeout/callLater 中,并尝试将 sessionId 附加到请求中(因为 Firefox 为上传创建了一个新线程并且没有附上正确的cookies)。这些方法都不适合我。
我在 Internet Explorer 上没有遇到这个问题,只有 Firefox。
有没有人遇到过这个?有什么建议么?谢谢你的帮助。
编辑:应该提到 SWF 和被请求的 URL 在同一台服务器上 (localhost:8080)。