欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

利用Nginx怎么實現(xiàn)一個文件下載功能-創(chuàng)新互聯(lián)

本篇文章為大家展示了利用Nginx怎么實現(xiàn)一個文件下載功能,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè),為客戶提供網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗,各類網(wǎng)站都可以開發(fā),成都品牌網(wǎng)站建設(shè),公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計,建網(wǎng)站費用,建網(wǎng)站多少錢,價格優(yōu)惠,收費合理。

一、配置


http {
 ...
 server: {
 # 配置下載
  location /download {
   root D:\\download;
   autoindex on;
   autoindex_exact_size off;
  }
 }
 ...
}

利用Nginx怎么實現(xiàn)一個文件下載功能

這是目錄里隨便放的幾個文件,可以看到實現(xiàn)成功。

這里踩過幾個坑,下面提示下:

1、root路徑配置問題

剛開始配置的 alias D:\download,報錯:2020/08/14 10:36:06 [emerg] 26396#16140: invalid number of arguments in "alias" directive in D:\Program File\nginx\nginx-1.13.12/conf/nginx.conf:74

那么查配置 74 行,發(fā)現(xiàn)少了分號,加上問題依舊。換成 root D:\download;,報錯:2020/08/14 10:44:20 [emerg] 21376#17156: invalid number of arguments in "root" directive in D:\Program File\nginx\nginx-1.13.12/conf/nginx.conf:74

問題依舊,后來發(fā)現(xiàn)路徑有問題,寫錯了,應(yīng)該是

root D:/download;
// 或者
root D:\\download;

原因都懂,就是 \ 只是個轉(zhuǎn)義字符,要么用 \\,要么就用 /

2、root與alias差別

ok,這樣配置可以了。但是當(dāng)我輸入:http://localhost/download/,報錯404,我的D盤目錄下為D:/download/*,然后其他文件

剛開始報錯:2020/08/14 11:02:49 [error] 9928#12876: *11 CreateFile() "D:\download\/download" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: , request: "GET /download HTTP/1.1", host: "localhost"

看到這個路徑D:\download\/download這里有問題,所以我把配置rootD:/download/;,后面的 / 去掉了,再試,還是報錯:2020/08/14 11:04:15 [error] 3128#11636: *1 CreateFile() "D:\download/download" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: , request: "GET /download HTTP/1.1", host: "localhost"

所以考慮到不是路徑的問題,那么問題原因在哪?在于 root 與 alias 配置的區(qū)別。

利用Nginx怎么實現(xiàn)一個文件下載功能

也就是說 當(dāng) rootD:/download; 時,你請求http://localhost/download/,他找的是:D:\download\download

而當(dāng) alias D:/download; 時,你請求http://localhost/download/,他找的才是:D:\download

那么我把我的本地路徑改一下:D:/download/download/*,然后再是其他文件,那么就成功了。

3、中文文件問題

還有坑,點擊全英文名文件是正常預(yù)覽下載的,中文名文件報錯。在 server段中添加 charset utf-8; 也不行,或者charset gbk,utf-8; 也不行。有清楚的,煩請不吝賜教,謝謝。

思考良久,應(yīng)該不是nginx配置的問題了,因為很多地方都說這樣配置就可以顯示中文了。然后我想到會不會是系統(tǒng)編碼問題呢?我用本地做服務(wù)器。使用chcp命令查了一下系統(tǒng)編碼,顯示936。一般正常能顯示中文的是936,那說明沒問題。

雖然中文顯示是正常的,但是**的,一點還是報錯,亂碼或者404。沒辦法直接點擊下載中文名文件,或者瀏覽中文名目錄。

中文名文件下載可以通過 復(fù)制文件名,然后貼在瀏覽器url后面,就可以下載下來了,中文名目錄是真的無法瀏覽?。?!

原因是,windows服務(wù)器中文是gbk編碼,nginx的這種頁面的href就是用gbk進行urlencode的,然后一般瀏覽器都是使用utf-8的,當(dāng)然就沒法訪問了。

4、想防止瀏覽器自動打開文件而不是下載文件,添加

add_header Content-Disposition "attachment;";
// 所有文件都不打開
location / {
 add_header Content-Disposition "attachment;filename*=utf-8'zh_cn'$arg_n";
}

一般存儲在服務(wù)器上的文件都不會用原來的名字,所以下載的時候需要改名,可通過url中添加參數(shù),然后在nginx中根據(jù)參數(shù)來改名。

舉例:參數(shù)為 n=xxx.jpg

url:https"//xxxxx?n=xxx.jpg //表示把下載下來的文件名字改為xxx.jpg

nginx需要配置成

location / {
  if ($request_uri ~* ^.*\?n=([^&]+)$) {
    add_header Content-Disposition "filename*=$arg_n";
  }
}

注釋:里面的utf-8是有些瀏覽器會自動把文件改成urlencode的格式

一般1,2都是要一起配置的

location / {
  if ($request_uri ~* ^.*\?n=([^&]+)$) {
    add_header Content-Disposition "attachment;filename*=$arg_n";
  }
}

上述內(nèi)容就是利用Nginx怎么實現(xiàn)一個文件下載功能,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站題目:利用Nginx怎么實現(xiàn)一個文件下載功能-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://aaarwkj.com/article20/iopco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、云服務(wù)器、軟件開發(fā)、品牌網(wǎng)站制作Google、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
后入视频国产在线观看| 丰满少妇一区二区自拍区| 日韩电影在线观看二区| 亚洲精品日本一区二区| av成人黄色片在线播放| 婷婷中文字幕在线不卡视频| 最新国产av网址大全| 欧美日韩加勒比综合在线| 久久精品视频视频视频| 亚洲成人精品夫妻av| 国产色综合一区二区| 欧美大片黄片在线观看| 偷拍福利视频一区二区三区| 国产在线视频不卡一区| 欧美黄色成人免费网站| 中文字幕精品一区二区三区视频| 欧美颜射一区二区三区| 色哟哟国产精品一区自拍| 黄片超刺激在线看在线| 国产精品久久久av大片| 亚洲女优中文字幕在线免费| 国产激情视频一区二区三区| 男人天堂在线视频网站| 亚洲综合福利视频网站| 日韩精品高清中文字幕| 人妻露脸国语对白字幕| 国产三级精品在线免费| 亚洲国产成人精品女人| 亚洲成人日韩国产欧美| 99久久婷婷免费国产综合精品 | 天天操天天干夜夜射| 亚洲夫妻性生活免费视频| 少妇内射呻吟中文字幕视频| 熟妇人妻精品一区二区三区颏 | 欧美日韩精品人妻一区| 国产传媒剧情剧资源网站| 亚洲伦理av在线观看| 日韩精品一区二区三区四区在线视频| 丰满少妇一区二区三区专区| 亚洲国产日韩精品久久| 久久久久久国产精彩视频|