0

ActionScript 3 具有使用 php 上传文件的复杂方法。一个常见错误(在我的列表中)是错误的 url,因此 php 无法分配文件。这应该会产生一个错误,因为我按照 Adob​​e 建议的脚本放置了所有这些事件。它正在触发 COMPLETE 事件,所以我的想法是从 php 传递一些返回信息,编写一个 JSON。当我执行 URLLoader + URLRequest 时,它工作正常:事件通过 .target.data 属性从 php 返回答案,但使用 URLRequest 创建 fileReference.upload 方法,相同的属性返回 null!

这就是我正在使用的事件:

_fileReference.addEventListener(Event.CANCEL, canceledHandler);
_fileReference.addEventListener(ProgressEvent.PROGRESS,progressHandler);
_fileReference.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
_fileReference.addEventListener(SecurityErrorEvent.SECURITY_ERROR,securityHandler);
_fileReference.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpHandler);
_fileReference.addEventListener(Event.COMPLETE, completeHandler);

我需要触发错误事件或从 php 获得答案的方法,否则,我一无所知!

4

1 回答 1

0

首先,AS3 没有任何特定于 php 的功能 - 虽然是的,但它在上传文件和 HTTP 协议方面非常胜任。

如果您将数据发布到不正确的 URL,这超出了 AS3 的范围——它会触发 COMPLETE 事件,因为它设法将数据发布到您指定的 URL……无论 URL 是否正确。

您可能应该使用的是HTTPStatusEvent。文档说它是:“在上传失败并且可以使用 HTTP 状态代码来描述失败时调度”。我在您的代码中看到您已经在监听该事件,您在事件处理程序(httpHandler)中有什么代码?每当该事件触发时,请尝试追踪结果,希望(尽管我不确定)该事件应该表明您已发布到不正确的 url。event.status 属性应该让您对发生的事情有一个很好的了解。有关有效状态代码的列表,请参见此处

trace("status: " + event.status);
于 2013-05-27T13:38:49.050 回答