【问题标题】:How to fetch image and save to blobstore?如何获取图像并保存到 blobstore?
【发布时间】:2012-10-04 18:03:24
【问题描述】:

我想从另一个站点获取图像(~250Kb)并将它们保存到blobstore。我想使用 Blobstore,因为它的配额(5Gb 免费)与数据存储(1Gb 免费)。我该怎么做?

GAE 文档说我应该创建上传表单来使用 blobstore,我不需要。

【问题讨论】:

  • 我们能否看到您迄今为止编写的代码,指出您卡在哪里?
  • 确实,这几乎是一个“给我代码”的问题。

标签: python google-app-engine app-engine-ndb


【解决方案1】:

我认为这段代码会起作用:

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)                                 

【讨论】:

  • 如果我没记错的话,这对于大于 1MB 的图像可能会中断..(写作部分)
  • 如果有限制,可以分块写。看到这个问题:stackoverflow.com/questions/5522804/…
  • 是的..!我不在电脑前.. 但如果能在 Python 中以它作为示例也很好.. 只是为了完成编写更大内容的答案:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-19
  • 2016-02-15
  • 1970-01-01
  • 1970-01-01
  • 2013-08-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多