2012-02-14 17 views
0

ファイルアップロードを処理してblobstoreに保存するには、Googleアプリケーションエンジンでpythonを使用してアプリケーションを作成したいと考えています。blobstore.create_upload_urlを使用せずにBlobstoreにアップロード

しかし、現在、blobstore.create_upload_urlを使用してファイルアップロードフォームの投稿用のURLを作成する必要があります。私は別のサーバからアップロードしているので、私の質問は、blobstore.create_upload_urlの動的URLを使わずにgae blobstoreにファイルをアップロードすることができるということですか?

参考までに、別のサーバーからアップロードする前にpythonスクリプトからアップロードURLをリクエストしても問題ありませんが、余分な遅延が発生しています。また、私はhttp://code.google.com/intl/en/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstoreからいわゆる "ファイルライクなAPI"を使って読みましたが、ドキュメントはアップロード時にその部分をカバーしていないようです。

また、以前はファイルのアップロードにデータストアを使用しようとしましたが、最大ファイルサイズは1MBで十分ではありません。親切にアドバイス、ありがとう。

答えて

5

ファイルをブロブストアに書き込むには、1)create_upload_urlを使用し、添付ファイル付きのフォームを投稿する、2)APIを使用して直接ブロブストアに書き込む(大容量ファイルの場合はhere) )。あなたは、リモートサーバーにアップロードすることができるようにしたい場合は

、あなたは同じ2つの選択肢があります。

1)リモートサーバー初のURLを要求します。このようなURLを返すだけのハンドラがあります。このURLを使用すると、リモートサーバーは正しくエンコードされたPOSTメッセージを作成し、URLに送信します。

2)ファイルのデータをHTTPパラメータとして、アプリケーションエンジンサーバーのハンドラに送信します。このAPIは、blobstore書き込みAPIを使用してファイルを直接書き込みます。リクエストサイズはlimited〜32MBなので、この方法で書き込むことのできる最大ファイルサイズはそれ以下になります。

+0

ただし、アプローチ2を使用すると、アップロードのサイズ制限はどのようになりますか? – Tony

+0

アプローチ#2の制限で更新されました。 – mjibson

関連する問題