Django + 阿里 OSS 远程文件下载:为什么点击下载按钮却无法下载?
Django + 阿里 OSS 远程文件下载难题
在 Django 项目中,用户点击下载按钮后,阿里 OSS 上存储的文件却无法直接下载,而是被浏览器直接打开。如何解决这个问题,让用户可以正常下载文件?
解决方案
要让用户可以下载远程文件,需要在 OSS 中的手动设置文件头,指定 Content-Type 为 application/octet-stream。
步骤
- 登陆阿里云 OSS 控制台。
- 选择存储桶。
- 找到需要修改的文件。
- 点击 "属性" -> "基本信息" 选项卡。
- 在 "自义内容类型" 下,输入 application/octet-stream。
- 点击 "保存"。
原理
浏览器会根据文件的 Content-Type 头判断文件类型。如果 Content-Type 为 application/octet-stream,浏览器会认为文件是二进制数据,不会尝试直接播放或打开文件,而是直接下载。
以上就是Django + 阿里 OSS 远程文件下载:为什么点击下载按钮却无法下载?的详细内容,更多请关注www.sxiaw.com其它相关文章!