我在 HTML5 CORS 文件上传器上使用 Amazon S3。它运行良好,但我仍然有一件非常奇怪的事情正在发生。
在PUT请求发送文件之前,浏览器总是发送一个OPTIONS请求,该请求失败并返回403 FORBIDDEN错误代码。
但是文件已正确传输到 S3,所以发生了什么?
请注意,我试图通过启用所有 HTTP 方法来解决我的问题,但它没有奏效..
这是我用于PUT请求的标头:
AWSAccessKeyId:XXXXXXXXXXXXXXXXXXXXXX
Expires:1347882643
Signature:YYYYYYYYYYYYYYYYYYYYY
还有一些代码:
var xhr = new XMLHttpRequest();
// bind the event listener
xhr.upload.addEventListener("progress", progress_listener, false);
// open the XMLHttpRequest
xhr.open('PUT', signed_url, true);
// when the upload is completed call the callback function if supplied
xhr.onload = function(e) {
if(typeof callback == "function") {
callback(this.status == 200, file.name, file_id);
confirm_upload_success(file_id);
}
};
// start sending
xhr.send(file);
谢谢你的帮助