nginx文件強(qiáng)制下載的配置方法
現(xiàn)在的瀏覽器能夠識(shí)別很多文件類型(txt,pdf,jpg...),并在瀏覽器中自動(dòng)打開
情況一:
添加頭信息Content-Disposition "attachment;"會(huì)使瀏覽器強(qiáng)制下載:
#表示瀏覽器內(nèi)嵌顯示一個(gè)文件
Content-disposition: inline; filename=foobar.pdf
#表示會(huì)下載文件,如火狐瀏覽器中
Content-disposition: attachment; filename=foobar.pdf
nginx配置如下,在相應(yīng)的server中添加如下location:
location /upload {
add_header Content-Disposition "attachment;";
}
情況二:
有這么一個(gè)需求,對(duì)于圖片文件和pdf等文件鏈接,只要訪問(wèn)實(shí)在某個(gè)路徑下,不能在瀏覽器中打開圖片,而是提示用戶保存到本地,文件名使用訪問(wèn)的文件名。
這個(gè)問(wèn)題主要是IE造成的,不管mime類型是什么,比如人工把圖片的mime類型設(shè)置為octet-stream,如果瀏覽器認(rèn)識(shí)文件后綴的話,仍然會(huì)在瀏覽器中打開圖片,IE瀏覽器夠垃圾的吧?
解決方案:
在響應(yīng)的http頭添加:Content-Disposition: attachment; filename=文件名
nginx配置如下:
location ~ ^/somepath/(.*)$ {
add_header Content-Disposition "attachment; filename=$1";
alias "E:/apache-tomcat-7.0.32/webapps/upload/$1";
}
這里使用到了正則表達(dá)式,捕獲請(qǐng)求的文件名。
另外,需要注意nginx的location優(yōu)先級(jí),首先是=,然后是^~,最后才是~。
這樣,IE瀏覽器就會(huì)忽略掉原mime類型,提示用戶把文件保存到本地。
相關(guān)文章
Nginx?Gunicorn?flask項(xiàng)目部署思路分析詳解
這篇文章主要為大家介紹了Nginx?Gunicorn?flask項(xiàng)目部署思路分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12淺談Nginx請(qǐng)求限制和訪問(wèn)控制的實(shí)現(xiàn)
這篇文章主要介紹了淺談Nginx請(qǐng)求限制和訪問(wèn)控制的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07詳解阿里云LINUX服務(wù)器配置HTTPS(NGINX)
本篇文章主要介紹了阿里云LINUX服務(wù)器配置HTTPS(NGINX) ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02通過(guò)Nginx+Tomcat+Redis實(shí)現(xiàn)持久會(huì)話
這篇文章主要介紹了通過(guò)Nginx+Tomcat+Redis實(shí)現(xiàn)持久會(huì)話的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11