fastdfs下載時恢復原始檔名
阿新 • • 發佈:2018-12-31
檔案被上傳到FastDFS後Storage服務端將返回的檔案索引(FID),其中檔名是根據FastDFS自定義規則重新生成的
例如:wKgB-lkdxUmAPb-QAAIbD3CxJDw317.txt,而不是原始檔名,使用http下載時如不加處理,顯示給使用者的檔名會是這樣的wKgB-lkdxUmAPb-QAAIbD3CxJDw317.txt
,這樣的使用者體驗很不好。由於FastDFS不會儲存原始檔名,也不提供回覆原始名的方法,我們需要自己實現
那麼就需要我們將原始檔名記錄在資料庫中,在下載的時候將原檔名傳遞到伺服器,然後用nginx獲取到原始檔名,在寫入響應頭裡面
http://192.168.1.124:8000/group2/M00/00/00/wKgB-Vkb2yuAEk80AAAABpDVNbM781.txt?attname =name.txt
if ($arg_attname ~* \.(doc|docx|txt|pdf|zip|rar|txt)$) {
add_header Content-Disposition "attachment;filename=$arg_attname";
}