从 Google Cloud 文件中获取 content_type

gui*_*123 1 python google-cloud-storage google-cloud-platform

我有两个 api 端点,一个从 http 请求中获取文件并使用 python api 将其上传到谷歌云存储桶,另一个再次下载它。在第一个视图中,我从 http 请求中获取文件内容类型并将其上传到存储桶,设置该元数据:

from google.cloud import storage
file_obj = request.FILES['file']
client = storage.Client.from_service_account_json(path.join(
            path.realpath(path.dirname(__file__)),
            '..',
            'settings',
            'api-key.json'
          ))
bucket = client.get_bucket('storage-bucket')
blob = bucket.blob(filename)
blob.upload_from_string(
                file_text,
                content_type=file_obj.content_type
            )
Run Code Online (Sandbox Code Playgroud)

然后在另一个视图中,我下载了文件:

        ...
        bucket = client.get_bucket('storage-bucket')
        blob = bucket.blob(filename)
        blob.download_to_filename(path)
Run Code Online (Sandbox Code Playgroud)

如何访问我之前设置的文件元数据 ( content_type)?由于实例化了一个新对象,它在 blob 对象上不再可用,但它仍然保存该文件。

Ant*_* L 6

你应该试试

 blob = bucket.get_blob(blob_name)
 blob.content_type
Run Code Online (Sandbox Code Playgroud)