日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FastDFS使用之文件名称

發布時間:2023/12/20 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FastDFS使用之文件名称 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

應用背景

文件被上傳到FastDFS后Storage服務端將返回的文件索引(FID),其中文件名是根據FastDFS自定義規則重新生成的,而不是原始文件名,例如:?group2/M00/00/89/eQ6h3FKJf_PRl8p4AUz4wO8tqaA688.apk

使用http下載時如不加處理,顯示給用戶的文件名會是這樣的eQ6h3FKJf_PRl8p4AUz4wO8tqaA688.apk,這樣的用戶體驗很不好。由于FastDFS不會存儲原始文件名,也沒有提供恢復原始文件名的方法,所以需要應用系統自己想辦法恢復原始文件名。

解決方法

通過在項目中多次嘗試,找到一種較簡單的實現方法,實現過程如下:

一. 應用系統在上傳文件到FastDFS成功時將原始文件名“文件索引(FID)”保存下來(例如:保存到數據庫)。

二. 用戶點擊下載的時用Nginx的域名FID拼出url,然后在url后面增加一個參數,指定原始文件名。例如:http://121.14.161.48:9030/group2/M00/00/89/eQ6h3FKJf_PRl8p4AUz4wO8tqaA688.apk?attname=filename.apk

三. 在Nginx上進行如下配置,這樣Nginx就會截獲url中的參數attname,在Http響應頭里面加上字段 Content-Disposition “attachment;filename=$arg_attname”。

?

location /group2/M00 { root /data/store/data; if ($arg_attname ~ "^(.*).apk") {add_header Content-Disposition "attachment;filename=$arg_attname"; } ngx_fastdfs_module; }

?

四. 瀏覽器發現響應頭里面有Content-Disposition “attachment;filename=$arg_attname”時,就會把文件名顯示成filename指定的名稱。

完整的請求和響應消息如下:

請求包:

Request URL:http://121.14.161.48:9030/group2/M00/00/89/eQ6h3FKJf_PRl8p4AUz4wO8tqaA688.apk?attname=filename.apk Request Method:GET Status Code:200 OK Request Headersview source Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Encoding:gzip,deflate,sdch Accept-Language:zh-CN,zh;q=0.8,en;q=0.6 Connection:keep-alive Host:121.14.161.48:9030 Referer:http://appandroidpcfront.test.uae.uc.cn/apps User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36 Query String Parametersview sourceview URL encoded attname:filename.apk

?

返回包:

Response Headersview source Accept-Ranges:bytes Connection:keep-alive Content-Disposition:attachment;filename=filename.apk Content-Length:21821632 Date:Thu, 28 Nov 2013 11:40:46 GMT Last-Modified:Mon, 18 Nov 2013 02:48:19 GMT Server:nginx/1.4.3

總結

以上是生活随笔為你收集整理的FastDFS使用之文件名称的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。