SWF上传:返回错误

时间:2011-08-01 18:46:15

标签: php file-upload http-headers swfupload

我一直在搞乱SWF上传,我真的很喜欢它。我能够非常轻松地将它应用到我的文件上传课程中。但是,我遇到的问题是,我需要能够将错误发送回上传器,以便用户知道他们的文件是否因为太大或格式错误等问题而未完全上传等我通读了SWF上传提供的PHP示例脚本,但我无法弄清楚如何将错误传回给它。这是错误处理功能:

/* Handles the error output.  This function was written for SWFUpload for Flash Player 8 which
cannot return data to the server, so it just returns a 500 error. For Flash Player 9 you will
want to change this to return the server data you want to indicate an error and then use SWFUpload's
uploadSuccess to check the server_data for your error indicator. */

function HandleError($message) {
    header("HTTP/1.1 500 Internal Server Error");
    echo $message;
}

所以uploadSuccess函数期待来自服务器的响应。我将如何使用“header()”进行编码并发送所述响应?

如果我使用它:

header("HTTP/1.1 200 Uploaded File was Successful");

SWF上传返回成功,但该消息未通过uploadSuccess函数。

1 个答案:

答案 0 :(得分:0)

我还在寻找一种从服务器显示错误消息的方法。根据上面的评论,我可以通过将handlers.js中的uploadSuccess()函数更新为:

来实现这一点。
if (serverData != null && serverData != "ok"){
  progress.setError();
  progress.setStatus(serverData);
} else {
  progress.setStatus("Complete.");
}

意思是,如果响应不是“ok”,它将显示为错误。这感觉非常hacky。我宁愿能够从服务器发送非200响应并让它显示错误消息,但据我所知,这是不可能的。此外,我设置它的方式不适用于非错误的自定义消息。