3

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 に関しては初心者であることを念頭に置いてください。そのため、指示が明確であればあるほど良いでしょう。

ありがとう!

4

1 に答える 1