Nginx配置指定媒体类型文件强制下载

由于业务需要,在点击显示链接(如www.xxx.com/2015-01-15/xxx.png)显示媒体资源(如图片、视频、音频、文档),而在点击下载链接(如www.xxx.com/2015-01-15/xxx.png?download=true)请求静态资源时,强制下载而不是在浏览器中直接显示。经过多方查找各种方案,可以在nginx中设置强制下载,如下:

1 location ~ .*\.(gif|jpg|jpeg|bmp|png|mp3|wma|mp4|swf|txt)$
2 {
3     if ( $query_string ~ "download=true$" )
4     {
5         add_header Content-Disposition "attachment; filename=$request_filename";
6     }
7 }