PluploadがファイルをAmazon S3に直接アップロードするように正しく設定するにはどうすればよいですか?
5 に答える
バケット、キー、および acl の条件に加えて、ポリシー ドキュメントには、名前、ファイル名、および success_action_status のルールが含まれている必要があります。例えば:
["starts-with", "$name", ""], ["starts-with", "$Filename", ""], ["starts-with", "$success_action_status", ""],
Filename
Flash バックエンドが送信するフィールドですが、HTML5 バックエンドは送信しません。設定は True でなければなりませんが、
multipart
最近ではそれがデフォルトになっています。設定は
multipart_params
、次のフィールドを持つディクショナリである必要があります。key
AWSAccessKeyId
acl = 'private'
policy
signature
success_action_status = '201'
201 に設定
success_action_status
すると、S3 は HTTP ステータス コード 201 の XML ドキュメントを返します。これは、フラッシュ バックエンドを機能させるために必要です。(応答が空で、コードが 200 または 204 の場合、フラッシュ アップロードは停止します。応答がリダイレクトの場合、I/O エラーが発生します。)S3 はチャンクを認識しないため、
chunk_size
config オプションを削除します。unique_names
True または False のいずれかで、両方とも機能します。
最新の Plupload リリースには、Flash および SilverLight ランタイムを使用して、Plupload を使用して Amazon S3 にファイルをアップロードする方法をうまく示す例が含まれています。
ここに新しい記事があります: Amazon S3 へのアップロード
crossdomain.xml を s3 ホストにアップロードすることを忘れないでください。また、success_action_redirect URL がある場合は、そのドメインにも crossdomain.xml ファイルが必要です。私はその問題と戦って1日を過ごし、最終的に何が悪いのかを見つけました。次回は、内部でフラッシュがどのように機能するかを考えてみましょう。
誰かのために時間を節約したいと思っています。
Rails 3 を使用している場合は、私のサンプル プロジェクトをチェックしてください。
Rails 3、Flash、および MooTools ベースの FancyUploader を使用して S3 に直接アップロードするサンプル プロジェクト: https://github.com/iwasrobbed/Rails3-S3-Uploader-FancyUploader
Rails 3、Flash/Silverlight/GoogleGears/BrowserPlus、および jQuery ベースの Plupload を使用して S3 に直接アップロードするサンプル プロジェクト: https://github.com/iwasrobbed/Rails3-S3-Uploader-Plupload