2013-04-19 15 views
5

私はAngular.jsのアプリケーションを持っています。事実、私は古いサイトで更新を行い、Angularのためにそれを変更しました。Angular.jsとAmazon S3 - ファイルをアップロードするには?

旧バージョンでは、Amazon S3でのアップロードにUploadfy jqueryコンポーネントを使用していました。しかし、今、Angularでは、私はこれを使うことができません。

ディレクティブ "ngUpload"を使用します。しかし、私はこれを行う方法を知らない。 誰でも助けてくれますか?

+0

はあなたの古いコードを投稿してください。とにかく、Angularは一般的で適応性のあるものであるため、Uploadfyを使用できるはずです。たとえば、Uploadifyをラップする指示文を作成できます。 –

答えて

5

あなたは、ファイルの進行状況とファイルのドロップをサポートしていangular-file-upload軽量角度ディレクティブを使用することができます。

あなたは、ファイルのアップロードと一緒にすべてのそれらのデータを送信する方法として、サンプルコードをここからAmazon S3の問題を追跡することができます https://github.com/danialfarid/angular-file-upload/issues/23

S3アップロードは上記のバージョン1.1.1で動作するはずです。

別の関連問題:あなたはアップロード後のファイルを処理し、別の場所に移動したい場合はhttps://github.com/danialfarid/angular-file-upload/issues/23

+0

@danialはこのライブラリの作成者です。 – demisx

7

POSTデータに有効なS3パラメータを含めると、HTMLフォームからS3バケットに直接アップロードできます。これらは事前承認されたHTML POSTフォームと呼ばれます。

有効なパラメータ値は、AWS APIへのAPI呼び出しを通じて、独自のホスティングサーバーで生成されます。次に、値が非表示の入力フィールドとしてアップロードフォームに追加されます。ここで

は、彼らがあなたの形でどのように見えるかです:

<input type="hidden" name="AWSAccessKeyId" value="YOUR_AWS_ACCESS_KEY"> 
    <input type="hidden" name="acl" value="private"> 
    <input type="hidden" name="success_action_redirect" value="http://yourdomain/"> 
    <input type="hidden" name="policy" value="YOUR_POLICY_DOCUMENT_BASE64_ENCODED"> 
    <input type="hidden" name="signature" value="YOUR_CALCULATED_SIGNATURE"> 

アマゾンは、Java、PythonとRubyのためのサンプルコードを提供します。

http://aws.amazon.com/articles/1434

+0

こんにちは、ポリシーと署名の生成について質問します。どこでこれを見つけることができますか?ありがとう –

2

あなたはAWS JS SDKと「パブリック」IAMアカウントとAPIキーを使用してこれを行うことができます。たとえば、アップロードしたファイルを処理して保存する場合などです。

Angular AWS S3 JS SDK、CORS、IAMアカウントを使用します。それをロックダウンするために少しの設定が含まれているので、虐待を受けることはありません。 I'vはここにこれを設定するためのプロセスを文書化

http://www.cheynewallace.com/uploading-to-s3-with-angularjs/

関連する問題