亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 35484 | 回復(fù): 9
打印 上一主題 下一主題

[FastDFS] 關(guān)于使用FastDFS做圖片及其縮略圖存儲的一點疑惑 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-09-17 10:54 |只看該作者 |倒序瀏覽
本帖最后由 yanjing5462 于 2012-09-17 10:59 編輯

問題:

1. 我用fastdfs_storage_upload_by_filename,先上傳了一張圖片,得到了filename=M00/00/00/wKgh8VBWiJuTMwLIALjDi6M68J4311.jpg和我預(yù)想的一樣。

2. 之后我根據(jù)這個filename,調(diào)用fastdfs_storage_upload_slave_by_filename,得到了filename=M00/00/00/wKgh8VBWiJuTMwLIALjDi6M68J4311_200X200.JPG也和我預(yù)想的一樣,到這里似乎非常完美。

3. 這時我登錄storageServer查看,卻發(fā)現(xiàn)M00/00/00/wKgh8VBWiJuTMwLIALjDi6M68J4311_200X200.JPG只是個快捷方式,鏈接到另外一個叫wKgh8VBWiJuB_OLnADAA3uL0470149.JPG的圖片,這個圖片其實就是我上傳的那個縮略圖。到這里,問題來了:我上傳縮略圖時,并沒有返回wKgh8VBWiJuB_OLnADAA3uL0470149.JPG這個圖片的任何信息,以后我怎么刪除這個圖片呢?

4. 本來想的挺好,storageServer上只產(chǎn)生2個文件,一個原圖,一個縮略圖,現(xiàn)在多了個快捷方式,之后查資料才弄明白,F(xiàn)astDFS不支持自定義filename,應(yīng)該就是這個原因,才必須采用文件鏈接的方式。

功能展望:
FastDFS目前來看是個通用的文件存儲服務(wù),而我是用他做圖片服務(wù)器,既然做圖片服務(wù)器更需專業(yè),那么有幾點需要滿足:

1. 原圖和縮略圖現(xiàn)在混在一起,最好能完全分開,開始打算用不同group來區(qū)分,了解group機(jī)制后發(fā)現(xiàn),不行。
2. 最好取消文件鏈接的方式,比如使用fastdfs_storage_upload_slave_by_filename上傳時,檢查原圖的filename是否存在,存在,就直接生成一個filename+extname的文件,不存在,就報主文件不存在的錯誤。這樣既節(jié)省了磁盤索引,也免去客戶端記錄文件對應(yīng)關(guān)系,只記錄原圖filename和group就可以了


圖片上傳代碼:
  1. <?php
  2. $tracker = fastdfs_tracker_get_connection();

  3. if(!fastdfs_active_test($tracker))
  4. {
  5.         error_log("errno: " . fastdfs_get_last_error_no() . ", error info: " . fastdfs_get_last_error_info());
  6.         exit(1);
  7. }
  8. $storage = fastdfs_tracker_query_storage_store();
  9. if(!$storage)
  10. {
  11.         error_log("errno: " . fastdfs_get_last_error_no() . ", error info: " . fastdfs_get_last_error_info());
  12.         exit(1);
  13. }

  14. $original_file1 = "/data/tools/85542.jpg";
  15. $original_file2 = "/data/tools/IMG_0111.JPG";

  16. $original_uploaded_info = fastdfs_storage_upload_by_filename($original_file1, null, array(), null, $tracker, $storage);

  17. print_r($original_uploaded_info);

  18. if($original_uploaded_info)
  19. {
  20.         $group_name = $original_uploaded_info['group_name'];
  21.         $remote_filename = $original_uploaded_info['filename'];

  22.         $thumbnail_info = fastdfs_storage_upload_slave_by_filename($original_file2, $group_name, $remote_filename, '_200X200');

  23.         print_r($thumbnail_info);
  24. }
  25. ?>
復(fù)制代碼
請求結(jié)果:
  1. Array
  2. (
  3.     [group_name] => group1
  4.     [filename] => M00/00/00/wKgh8VBWiJuTMwLIALjDi6M68J4311.jpg
  5. )
  6. Array
  7. (
  8.     [group_name] => group1
  9.     [filename] => M00/00/00/wKgh8VBWiJuTMwLIALjDi6M68J4311_200X200.JPG
  10. )
復(fù)制代碼
storage Server上的文件:

論壇徽章:
4
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT運維版塊每日發(fā)帖之星
日期:2016-08-11 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-08-15 06:20:00
2 [報告]
發(fā)表于 2012-09-17 11:23 |只看該作者
回復(fù) 1# yanjing5462


1. 原圖和縮略圖現(xiàn)在混在一起,最好能完全分開,開始打算用不同group來區(qū)分,了解group機(jī)制后發(fā)現(xiàn),不行。

A:因為FastDFS是根據(jù)文件ID直接定位到文件的,因此這個無法做到。如果你非得存儲到不同的group,那只能不用主從文件特性。

2. 最好取消文件鏈接的方式,比如使用fastdfs_storage_upload_slave_by_filename上傳時,檢查原圖的filename是否存在,存在,就直接生成一個filename+extname的文件,不存在,就報主文件不存在的錯誤。這樣既節(jié)省了磁盤索引,也免去客戶端記錄文件對應(yīng)關(guān)系,只記錄原圖filename和group就可以了

A:這個可以改進(jìn)一下,加個參數(shù)來控制是否采用符號鏈接方式。

論壇徽章:
0
3 [報告]
發(fā)表于 2012-09-17 15:05 |只看該作者
非常感謝fish的解答!

由于帶寬問題,近期打算把圖片服務(wù)器分離出去,面對圖片數(shù)量的不斷上漲,打算來一次徹底的重構(gòu),找了很多軟件,發(fā)現(xiàn)FastDFS最合適,近乎完美,呵呵。

論壇徽章:
0
4 [報告]
發(fā)表于 2012-09-22 23:07 |只看該作者
我這邊只存原圖,動態(tài)生成各種尺寸的縮略圖。

論壇徽章:
0
5 [報告]
發(fā)表于 2012-10-29 16:45 |只看該作者
jitabc 發(fā)表于 2012-09-22 23:07
我這邊只存原圖,動態(tài)生成各種尺寸的縮略圖。

那動態(tài)生成的縮略圖存儲到什么地方呢, 還有是不是還需要利用php處理生成呢

論壇徽章:
0
6 [報告]
發(fā)表于 2012-11-03 11:30 |只看該作者
生態(tài)生成還存他干毛,cdn給hold住。
回復(fù) 5# llkk0914


   

論壇徽章:
0
7 [報告]
發(fā)表于 2012-11-12 14:40 |只看該作者
回復(fù) 6# jitabc


    額,假如, 我們沒有CDN之類的東西, 應(yīng)該怎么做呢, 動態(tài)生成縮略圖, 生成以后是不是需要存儲一下呢,請指教

論壇徽章:
0
8 [報告]
發(fā)表于 2014-07-02 22:56 |只看該作者
回復(fù) 7# llkk0914
都已經(jīng)在作分布式存儲了還不用CDN,這不是本末倒置啊


   

論壇徽章:
0
9 [報告]
發(fā)表于 2019-04-08 09:18 |只看該作者
如果想把縮略圖存儲到服務(wù)器,需要怎么做呢?請大佬們指教一下

論壇徽章:
0
10 [報告]
發(fā)表于 2019-04-08 09:18 |只看該作者
如果想把縮略圖存儲到服務(wù)器,需要怎么做呢?請大佬們指教一下
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP