GAE将图像上传到云端点[Python]

时间:2014-08-27 19:14:44

标签: python google-app-engine

我是GAE的新手,我想知道人们通常如何上传图像以存储在Blobstore中,特别是使用端点。我已经看到有很多不使用端点的应用程序的示例,但没有任何关于端点的示例。我的想法是在客户端序列化图像并将其发送到message.BytesField消息到服务器以将其存储在Blobstore中。两个问题:

  1. 这是将图像上传到端点的正确方法吗?
  2. 如何从消息中获取BytesField并将其存储在Blobstore中?

任何帮助将不胜感激:)

2 个答案:

答案 0 :(得分:2)

used to be possible to upload files programmatically to Blobstore,但现已弃用。

但是,您可以programmatically upload files to Cloud Storage然后serve them via Blobstore API

所以:

  1. 是的,这种方法是可行的(所以它也是正确的)
  2. 请参阅上面有关如何在云存储中创建文件的链接

答案 1 :(得分:0)

你必须做类似

的事情

将cloudstorage导入为gcs

with gcs.open('bucketname/filename', 'w') as f:
  f.write(blob)

blobkey = blobstore.create_gs_key(gc_object_name='bucketname/filename')

print images.get_serving_url(blobkey)

但是在将大数据集发送到appengine时要小心,它有32 MB的请求大小限制,处理时60秒的截止时间,并且当读取发送的blob时它可能需要内存并且您的实例可能会重新启动,因为它们具有有限的ram数量在控制台中配置。