Django + 阿里 OSS 远程文件下载:为什么点击下载按钮却无法下载?

django + 阿里 oss 远程文件下载:为什么点击下载按钮却无法下载?

Django + 阿里 OSS 远程文件下载难题

Django 项目中,用户点击下载按钮后,阿里 OSS 上存储的文件却无法直接下载,而是被浏览器直接打开。如何解决这个问题,让用户可以正常下载文件?

解决方案

要让用户可以下载远程文件,需要在 OSS 中的手动设置文件头,指定 Content-Type 为 application/octet-stream。

步骤

  1. 登陆阿里云 OSS 控制台。
  2. 选择存储桶。
  3. 找到需要修改的文件。
  4. 点击 "属性" -> "基本信息" 选项卡。
  5. 在 "自义内容类型" 下,输入 application/octet-stream。
  6. 点击 "保存"。

原理

浏览器会根据文件的 Content-Type 头判断文件类型。如果 Content-Type 为 application/octet-stream,浏览器会认为文件是二进制数据,不会尝试直接播放或打开文件,而是直接下载。

以上就是Django + 阿里 OSS 远程文件下载:为什么点击下载按钮却无法下载?的详细内容,更多请关注其它相关文章!