1

ドキュメント オブジェクトを S3 に PUT できる署名付き URL があります。 http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadObjectPreSignedURLDotNetSDK.html

javascript を使用してブラウザから S3 にファイルを配置するにはどうすればよいですか? 私はAngularを使用していますが、JavaScriptライブラリを使用することにオープンです。

サーバーに POST してから、Amazon サーバーにオブジェクトを PUT できると思いますが、ブラウザーから行うことをお勧めします。

PUT を許可するように S3 の CORS 設定を変更しました。

angularファイルのアップロードを使用する予定でしたが、PUTで​​はなくPOSTにハードコーディングされています。 https://github.com/danialfarid/angular-file-upload

4

1 に答える 1

1

Amazon には、ファイルを S3 バケットに POST アップロードする方法を説明するガイド (こちら) があります。これは、AWS プライベート キーで署名された入力 <form> に依存しています。ファイル サイズの制限だけでなく、ターゲット ディレクトリに対する制限も指定できます。

<form> と署名されたポリシーの両方でほとんどのフィールドを複製する必要があるため、使用するのは少し面倒ですが、うまくいくようです。

POST の後、S3 はブラウザーをフォームで指定した URL にリダイレクトします (アップロードされたファイルの名前を指定するパラメーターなどを使用)。これは、個別のページのセットではなく「アプリケーション」である傾向がある Angular Web サイトには理想的ではありませんが、おそらくそれで作業できます。

私の Angular サイトでは、$http.post() を使用して Javascript で POST を実行し、適切なフォーム データをすべて渡しました。残念ながら、アップロードが実際には成功したにもかかわらず、常に「キャンセル」エラーが発生していました。私の場合、 $http.get() を使用してファイルをダウンロードし、元のデータと比較して再確認しました...しかし、私のファイルは数 KB しかないため、これは実行可能なソリューションにすぎませんでした。

于 2013-10-19T02:33:28.070 に答える