【问题标题】:How can I set the MIME type upon writing a file to google cloud storage如何在将文件写入谷歌云存储时设置 MIME 类型
【发布时间】:2014-06-21 08:14:38
【问题描述】:

我正在按照instructions 将 wav 和 mp3 文件保存到谷歌云存储(而不是 blobstore)。但是,这样做会丢失文件的 MIME 类型,而是将其转换为 binary/octet-stream,不幸的是,这会破坏我正在使用的应用程序。

  1. 如何在写入文件时设置 MIME 类型?

  2. 有没有办法根据文件自动设置 MIME 类型,即如果它是 mp3 文件,则保存为音频/mpeg,如果是 wav,则保存为音频/wav?

【问题讨论】:

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


    【解决方案1】:

    这是一个例子:

    def gcs_write_blob(dyn, blob):
        """ update google cloud storage dyn entity """
    
        gcs_file_name = '/%s/%s' % (default_bucket, dyn.filename)
    
        content_type = mimetypes.guess_type(dyn.filename)[0]
        if dyn.extension in ['js', 'css']:
            content_type += b'; charset=utf-8'
    
        with gcs.open(gcs_file_name, 'w', content_type=content_type,
                      options={b'x-goog-acl': b'public-read'}) as f:
            f.write(blob)
    
        return gcs_file_name
    

    摘自此要点:https://gist.github.com/voscausa/9541133

    【讨论】:

      【解决方案2】:

      BlobInfo 类有一个“content_type”字段,可用于设置对象的 mime 类型。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-09
        • 1970-01-01
        • 2013-06-26
        • 1970-01-01
        • 1970-01-01
        • 2022-01-03
        相关资源
        最近更新 更多