XHR を使用して、ブラウザから Amazon S3 に直接アップロードする方法を理解しようとしています。署名を作成してアップロードを実行する既成のコードを使用しています。S3 セキュリティ認証情報を入力するだけです。(価値があるので、PHP を使用してポリシー署名を行いたいと考えています)。
コードを GitHub アカウントにフォークしました。ここで見つけることができます: https://github.com/keonr/direct-browser-s3-upload-example
readme ファイルに示されているように、S3 バケット CORS をすべてのオリジンを許可するように設定しました。
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Content-Type</AllowedHeader>
<AllowedHeader>x-amz-acl</AllowedHeader>
<AllowedHeader>origin</AllowedHeader>
</CORSRule>
</CORSConfiguration>
ここで、ファイルのアップロードを実行しようとすると、スクリプトが返されXHR Error
、ブラウザーのエラー コンソールに標準の CORS エラーが表示され、Origin がその XHR 要求に対して許可されていることが示されます。考えられることはすべて試しました。*
ワイルドカードをリクエストの発信元の実際のドメインに変更して、許可されたヘッダーにワイルド*
カードを許可しました。何も機能していないようです。その CORS エラーが発生し続けます。
これを開始して、S3 へのブラウザの直接アップロードを正常に完了するのを手伝ってくれる人はいますか? どのような手段であれ、それをやり遂げることができればいいだけです。また、私は S3 に関しては初心者であることを念頭に置いてください。そのため、指示が明確であればあるほど良いでしょう。
ありがとう!