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);
ご協力いただきありがとうございます