【发布时间】:2015-02-03 22:21:50
【问题描述】:
我正在尝试使用 Blobstore API 将文件上传到 Google Cloud Storage。图像正确上传,但随后我尝试处理它(将其链接到用户)。我收到错误:
Index out of range
这是我的代码:
class UploadHandler(blobstore_handlers.BlobstoreUploadHandler):
def post(self):
upload_files = self.get_file_infos('file') # 'file' is file upload field in the form
file_info = upload_files[0]
#self.response.headers['Content-Type'] = 'application/x-www-form-urlencoded'
#self.response.headers.add_header('Access-Control-Allow-Origin', '*')
gcs_filename = file_info.gs_object_name
file_key = blobstore.create_gs_key(gcs_filename)
File(file=file_key, owner=utils.get_current_user(),
url= images.get_serving_url(file_key)).put()
我的代码放在file_info = upload_files[0] 行。
【问题讨论】:
-
这只是表示upload_files 没有内容。尝试将 len(upload_files) 的结果发送到日志或使用调试器并直接查看内容。
-
len(upload_files) 返回“1”。
-
我删除了 get_file_infos('file') 中的 de 'file' 参数。现在它可以正确获取文件,但我有一个新问题生成 blobKey throw create_gs_key()。说是预期的 BlobKey,得到了“{large-string}”。有什么想法吗?
-
我对 Java Blobstore 有类似的问题:stackoverflow.com/questions/27340269/… 有人可以看看并推荐一个解决方法吗?有一个价值 50 代表的活跃赏金。
标签: python google-app-engine google-cloud-platform google-cloud-storage google-cloud-python