Django+阿里OSS远程文件,如何让用户可以下载?

各位朋友好,近期遇到了一个难题,希望大神帮忙解决一下,视频下载网站,用户点击前端下载按钮就可以下载对应的视频,阿里OSS存的只是一个地址,例如:oss.hanzhou.com/mp4/JDUkd63h.mp4

返回给前端这个地址,直接变成打开视频了,Django如何处理这个请求,然后返回给用户可以直接下载。

阅读 2.7k
3 个回答

可以在OSS里面手动设置文件的HTTP头,指定Content-Typeapplication/octet-stream
这样浏览器在访问这个链接的时候,就能直接下载了。

用一个mp3作例子,mp3和mp4差不多,浏览器判断Content-Type为audio/mpeg的时候,就会直接播放。这里只要改称octet-stream就能直接下载了。

下载链接加上参数response-content-type 就行了,比如oss.hanzhou.com/mp4/JDUkd63h.mp4?response-content-type=application%2Foctet-stream

没有. 提示用户右击保存文件吧.

如果只是为这功能, 把文件下载到自己服务器, 再给用户, 太浪费流量了.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题