我按照instructions将wav和mp3文件保存到谷歌云存储(而不是blobstore)。但是,这样做会导致文件的MIME类型丢失,而是会转换为binary/octet-stream
,但遗憾的是它会破坏我正在使用的应用程序。
如何在编写文件时设置MIME类型?
有没有办法根据文件自动设置MIME类型,即如果它是一个mp3文件,它会被保存为audio / mpeg,如果wav是audio / wav?
< / LI> 醇>答案 0 :(得分:3)
以下是一个例子:
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
答案 1 :(得分:0)
BlobInfo类有一个“content_type”字段,可用于设置对象的mime类型。