1

別のサイトから画像(〜250Kb)を取得して、blobstoreに保存したいと思います。クォータ(5Gb無料)とデータストア(1Gb無料)の関係でBlobstoreを使用したいと思います。どうすればいいですか?

GAEドキュメントには、blobstoreを使用するためのアップロードフォームを作成する必要があると書かれていますが、これは必要ありません。

4

1 に答える 1

3

このコードはうまくいくと思います:

from __future__ import with_statement                     # first line of your code     
....
from google.appengine.api import urlfetch
import mimetypes
from google.appengine.api import files
.....
image_name = 'your_image.png'
response = urlfetch.fetch('http://....../' + image_name)  # response.status_code == 200 
(mimetype, _) = mimetypes.guess_type(image_name) 
file_name = files.blobstore.create(mime_type= mimetype, _blobinfo_uploaded_filename= image_name))
with files.open(file_name, 'a') as f:                                           
    f.write(response.content)
files.finalize(file_name)                       
blob_key = files.blobstore.get_blob_key(file_name)                                 
于 2012-10-04T19:05:02.743 に答える