Inside /var/www/storage/
文件夹中只有mp3文件。我想要做的是,对这些文件的每个请求最终都是下载而不是在浏览器中播放。
我当前的配置看起来像这样,我无法弄清楚出了什么问题。
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
server_name dl.domain.com;
root /var/www/storage/;
location / {
add_header Content-Disposition: "$request_filename";
}
}
答案 0 :(得分:0)
浏览器决定播放或下载取决于content-type
标头。如果你想强制浏览器下载文件而不是播放,你的网络服务器应该返回Content-Type: application/octet-stream
的mp3文件:
location ~ /mp3folder/.+\.mp3$ {
types {
application/octet-stream;
}
}
答案 1 :(得分:0)
您的初始配置几乎是正确的,您忘记的只是“附件”:
add_header Content-Disposition "attachment; filename=$request_filename";
还建议您按照raven428的建议执行application / octet-stream。但是我相信你会在没有调整Content-Type的情况下在大多数UAs中获得“另存为”。
如果在带有application / octet-stream内容类型的响应中使用此标头,则隐含的建议是用户代理不应显示响应,而是直接输入“save response as ...”对话框。