我一直在试图弄清楚如何使用Blobstore API将图像/视频上传到我的App Engine Python Web应用程序的Google Cloud Storage。这是我到目前为止的地方:
我使用以下代码为HTML表单创建操作URL。
upload_url = create_upload_url('/upload', gs_bucket_name='bucket')
我使用webapp2 / Jinja模板并将upload_url传递到我的HTML模板中。
<form action="{{upload_url}}" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" name="submit" value="SUBMIT">
</form>
我知道这会将文件直接上传到Google云端存储,然后使用blob键调用我的/upload
处理程序。
我很困惑在此之后该怎么做。这是我/upload
的处理程序代码:
class UploadHandler(blobstore_handlers.BlobstoreUploadHandler):
def post(self):
upload = self.get_upload()[0]
blob_key = upload.key()
这是将图片/视频上传到Google云端存储时获取blob_key的正确方法吗?
文档说使用blobstore.create_gs_key('/gs' + 'bucketname' + 'filename')
创建blob_key。文件名来自哪里?这个代码是否应该进入我的post函数,用于在对象存储在GCS中后调用的上传处理程序?
此外,从谷歌文档中,我对这段代码的作用或对图片的影响感到困惑:
with gcs.open(filename, 'w') as f:
f.write('abcde\n')
答案 0 :(得分:1)