如何解决在 Django 中只生成 s3 客户端 generate_presigned_post,内容类型用于 mp4 文件上传
上传视频 (.mp4) 文件后,S3 元数据设置其Content-Type : binary/octet-stream 当我的浏览器强制下载文件而不是播放为了让它在浏览器中播放我需要改变那个内容类型以编程方式转换为 django
中的“video/mp4”解决方法
在花了很多时间之后,我找到了解决方案: {
def presign_post_S3_url(self,key=None,is_public=False):
acl = 'private'
if is_public:
acl = 'public-read'
fields = {"acl": acl,"Content-Type": "video/mp4"}
conditions = [
{"acl": acl},["starts-with","$Content-Type",""]
]
if key is None:
return ""
##s3_client is boto3.client object
s3_client = self.get_s3_client()
if s3_client is None:
return ""
data = s3_client.generate_presigned_post(
Bucket=self.bucket,Key=key,Fields=fields,Conditions=conditions
)
return data
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。