【发布时间】:2015-02-21 18:28:34
【问题描述】:
我正在开发一个新闻应用程序,并希望将新闻图片缓存在我自己的谷歌云存储中。
我打算在 GAE 上使用 Flask。我发现的所有示例都与将文件从用户浏览器上传到云存储有关。
通过 url 获取图像并将其上传到谷歌云存储的最佳方法是什么? 我希望这是有道理的,请随时提出改进建议。非常感谢
def main():
bucket_name = os.environ.get('BUCKET_NAME',
app_identity.get_default_gcs_bucket_name())
bucket = '/' + bucket_name
filename = bucket + '/image_name'
image_url = "http://news.com/crash.jpg"
try:
create_file(image_url, filename)
except Exception, e:
logging.exception(e)
return "Success", 201
def create_file(image_url, filename):
image = cStringIO.StringIO(urllib.urlopen(image_url).read()) // Not sure about this
img = Image.open(image)
write_retry_params = gcs.RetryParams(backoff_factor=1.1)
gcs_file = gcs.open(filename,
'w',
content_type='image/jpeg', // ???? Is MIME type correct?
options={'x-goog-acl': 'public'},
retry_params=write_retry_params)
gcs_file.write(img)
gcs_file.close()
【问题讨论】:
标签: python google-app-engine flask google-cloud-storage