4

アップデート

この質問は元々、プログラムによるファイル作成がサポートされていなかったときに尋ねられました(たとえば、URLを介して)。これは変更されました。http ://code.google.com/appengine/docs/java/blobstore/overview.html#Writing_Files_to_the_Blobstoreを参照してください。

画像を取得するためにいくつかの異なるAPIにアクセスしています。私のアプリケーションはGAE+Pythonであり、Blobstoreを使用してこれらの画像を保存したいと思います。GAE Blobstoreのドキュメントには、URLから直接ではなく、フォームを介して画像をBlobstoreに保存する方法の明確な例が記載されています。

http://code.google.com/intl/iw/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstore

http://api.website.com/images/foo.jpgをBlobstoreに保存する方法を知りたいです。

4

3 に答える 3

2

独自のフォームへのHTTPPOSTが機能します。ファイルを送信しようとしませんでしたが、フォームを送信する方法は次のとおりです。インターネットからファイルを取得し、フォーム送信に追加すると、ファイルはblobstoreに保存されます。

import urllib
data = urllib.urlencode({"id":str(id), "password" : self.request.POST['passwd'], "edit" : "edit"})
result = urlfetch.fetch(url="http://www.montao.com.br/upload",
payload=data,
method=urlfetch.POST,
headers={'Content-Type': 'application/x-www-form-urlencoded'})

ここで答えられる同様の質問もあります

私はそれがあなたのために働くことを願っています。

于 2010-12-30T23:30:01.327 に答える
2

新しいファイルAPIをurlfetchAPIと組み合わせて使用​​すると、画像のURLをフォームに渡し、サーバー側でフェッチして、blobstoreに書き込むことができるはずです。

http://code.google.com/intl/iw/appengine/docs/python/blobstore/overview.html#Writing_Files_to_the_Blobstore

于 2011-05-27T11:40:19.163 に答える
0

追加のハンドラーを記述して、入力URLのコンテンツをblobストアハンドラーにアップロードできます。つまり、フォーム送信プロセスを自動化します。BLOBストアハンドラーにPOSTリクエストを送信し、画像をURLエンコードします。

ただし、唯一の問題は、ファイルが大きすぎる場合にタイムアウト例外が発生する可能性があることです。

于 2010-12-30T17:22:57.647 に答える