我正在使用一个名为 MultipartURLLoader 的类,它只使用 URLRequest 使用字节数据将文件发布到 url。除了在 Mac 上的 Firefox 中,一切正常。在 Mac 上的其他浏览器中很好,在 PC 上也很好。我一直在调试它,并且可以看到,如果您实际上不添加文件,对 MultipartURLLoader 的调用工作正常,只要我包含“addFile”行它就会失败。代码很简单:
var ml:MultipartURLLoader = new MultipartURLLoader();
ml.addEventListener(Event.COMPLETE, mp3Saved);
ml.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
ml.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
ml.addEventListener(Event.OPEN, openHandler);
ml.addEventListener(ProgressEvent.PROGRESS, progressHandler);
ml.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
ml.addFile(sba, new Date().time+'.mp3', 'audio_file');
ml.load(url);
另一个有趣的事情是这些事件都没有被触发——它似乎没有打开、报告任何进度、报告任何错误或接收任何 http 响应。然而,几分钟后错误事件被触发,因此闪存肯定正在尝试它并超时。我在 Firefox 中下载了一个名为 Live HTTP Headers 的插件,这样我就可以看到发布的内容。什么都没有——当我尝试包含“addFile”行时,只是没有发送帖子。