如何获取通过BlobstoreUploadHandler上传的文件的FileInfo / gcs file_name?

时间:2013-08-08 01:46:33

标签: python google-app-engine google-cloud-storage

blobstore.parse_file_info(cgi.FieldStorage()['file'])方法不适用于BlobstoreUploadHandler,FieldStorage似乎适用于常规上传

blob_info中没有来自self.get_uploads的常规blob_info提供的gcs文件名信息

似乎只能使用常规方法访问blob_key,但gcs file_name似乎是未来最安全的选择

如何使用gs_bucket_name参数从blobstore.create_upload_url获取上传到url的文件的gcs file_name?

1 个答案:

答案 0 :(得分:5)

class UploadAPI(blobstore_handlers.BlobstoreUploadHandler):
    def post(self):
        file_info = self.get_file_infos()[0]

        rtn_data = {
            "filename": file_info.filename,
            "content_type": file_info.content_type,
            "creation": file_info.creation,
            "size": file_info.size,
            "md5_hash": file_info.md5_hash,
            "gs_object_name": file_info.gs_object_name
        }

我确实在代码中找到了用法,但我也找不到文档。

https://developers.google.com/appengine/docs/python/blobstore/fileinfoclass说。

  

如果您正在使用webapp或webapp2应用程序框架,则可以   使用BlobstoreUploadHandler可以更方便地解析它   信息。

但我在FileInfo的文档中找不到与BlobstoreUploadHandler相关的内容。 https://developers.google.com/appengine/docs/python/tools/webapp/blobstorehandlers