- 論壇徽章:
- 0
|
本帖最后由 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就可以了
圖片上傳代碼:- <?php
- $tracker = fastdfs_tracker_get_connection();
- if(!fastdfs_active_test($tracker))
- {
- error_log("errno: " . fastdfs_get_last_error_no() . ", error info: " . fastdfs_get_last_error_info());
- exit(1);
- }
- $storage = fastdfs_tracker_query_storage_store();
- if(!$storage)
- {
- error_log("errno: " . fastdfs_get_last_error_no() . ", error info: " . fastdfs_get_last_error_info());
- exit(1);
- }
- $original_file1 = "/data/tools/85542.jpg";
- $original_file2 = "/data/tools/IMG_0111.JPG";
- $original_uploaded_info = fastdfs_storage_upload_by_filename($original_file1, null, array(), null, $tracker, $storage);
- print_r($original_uploaded_info);
- if($original_uploaded_info)
- {
- $group_name = $original_uploaded_info['group_name'];
- $remote_filename = $original_uploaded_info['filename'];
- $thumbnail_info = fastdfs_storage_upload_slave_by_filename($original_file2, $group_name, $remote_filename, '_200X200');
- print_r($thumbnail_info);
- }
- ?>
復(fù)制代碼 請求結(jié)果:- Array
- (
- [group_name] => group1
- [filename] => M00/00/00/wKgh8VBWiJuTMwLIALjDi6M68J4311.jpg
- )
- Array
- (
- [group_name] => group1
- [filename] => M00/00/00/wKgh8VBWiJuTMwLIALjDi6M68J4311_200X200.JPG
- )
復(fù)制代碼 storage Server上的文件:
1.jpg (35.91 KB, 下載次數(shù): 146)
下載附件
2012-09-17 10:26 上傳
|
|