fastdfs的入門到精通(java操作)


引言:

  上一篇博客已經簡單介紹的fastdfs的原理與安裝,本節繼續討論fastdfs的實際操作部分。本身是搞java出身,下面我就主要介紹關於java操作進行演示   

    fastdfs的入門到精通(引言和單機安裝)

准備條件:

  1.啟動tracker和storage服務

java操作

  1.搭建環境,我使用idea進行演示,首先創建一個fastdfs的maven項目,刪除其中src文件夾,在此項目基礎上建立相關父子項目來進行演示。然后新建一個moudle,建成后如下:

   

 

 

   2.從github下載相關源碼包:  fastdfs-client-java

   下載后如下:

    

 

 

 

 3.  copy  其中的org文件到第一步項目中的fastdfs_java的main/java下

  

 

 

        

 

 

   4.copy配置文件到resources

   

 

 

        

 

 

  5.修改配置文件,把fastdfs-client.properties.sample  修改為fastdfs-client.properties 來讓程序識別 ,然后把文件內容清空。寫上tracker服務器地址即可

   

 

 

  6.寫測試接口

  在准備寫測試接口,要在pom中追加junit的依賴:

   

 

 

   在test包下創建TestFastdfs進行測試:

    

package huhy;

import org.csource.common.MyException;
import org.csource.common.NameValuePair;
import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;
import org.junit.Test;

import java.io.IOException;

/**
 * @Author: huhy
 * @Date:2020/3/17 16:21
 * 項目名稱:fastdfs
 * @description: 測試
 */
public class TestFastdfs {

    /**
     * 測試文件上傳
     * @throws IOException
     * @throws MyException
     */
    @Test
    public void testFirstFastdfsCmd() throws IOException, MyException {
        //初始化配置文件
        ClientGlobal.init("fastdfs-client.properties");
        //tracker 客戶端
        TrackerClient trackerClient = new TrackerClient();
        //獲取trackerServer
        TrackerServer trackerServer = trackerClient.getTrackerServer();
        //創建StorageClient 對象
        StorageClient storageClient = new StorageClient(trackerServer);

        //文件元數據信息組
        NameValuePair[]  nameValuePairs = {new NameValuePair("author","huhy")};
        /**
         * 參數1  本地路徑
         * 參數2  后綴名
         * 參數3  文件元數據屬性
         */
        String[] txts = storageClient.upload_file("F:\\2020學習\\fastdfs\\測試上傳.txt", "txt", nameValuePairs);
        for (String txt : txts) {
            System.out.println(txt);
        }
    }

    /**
     * 測試下載文件
     * @throws IOException
     * @throws MyException
     */
    @Test
    public void testDownloadFile() throws IOException, MyException {
        //初始化配置文件
        ClientGlobal.init("fastdfs-client.properties");
        //tracker 客戶端
        TrackerClient trackerClient = new TrackerClient();
        //獲取trackerServer
        TrackerServer trackerServer = trackerClient.getTrackerServer();
        //創建StorageClient 對象
        StorageClient storageClient = new StorageClient(trackerServer);
        //測試文件下載
        storageClient.download_file("group1", "M00/00/00/wKjsgl5wkXuATLO3AAAAGXCvZ6w695.txt","f:/a.txt");
    }
}

  注意,上面測試只是簡單測試上傳和下載方法,關於java操作fastdfs的API還有很多,不一一測試,上面演示主要是讓大家對java操作fastdfs有一個上下連貫的思想。

  在上面演示中,可能會遇到兩個典型的錯誤。

    1.配置文件錯誤:

      

 

     解決辦法:復制 tracker_server 替換配置文件 “ = ” 前配置即可:

      

 

    2.  連接tracker服務器超時問題:

      

 

     解決辦法: 這個是老問題,因為我們配置好服務器后忘了關閉防火牆造成的,關閉防火牆即可:

      我使用的centos7 關閉防火牆命令為

        firewall-cmd --state   查看防火牆狀態

        systemctl stop firewalld.service   臨時關閉防火牆(重啟后失效)

        systemctl disable firewalld.service   永久關閉防火牆

      

 

 

補充:  

  1.很多人會有疑問,為啥不直接引用fastdfs-cleint的maven包

  因為github上沒有官方的客戶端請求包,現在發布到github上的包大多數都是各個公司根據自己公司情況封裝過的,所以不建議使用。鑒於這種情況,作者余慶也寫了一個,就是上面我下載的那個源碼包。

  那為啥這個不能引用呢,因為作者在開發中編譯環境可能存在差異,在我們引用的時候可能會報這樣那樣的錯誤,最經典的是java編譯環境不匹配。所以官方建議我們下載源碼包,根據自己公司環境自己構建相對於的jar包進行使用,這也是上面演示引入源碼重新編譯的原因。 


  關於java操作fastdfs的幾個典型的api介紹,暫時介紹到這里,后續介紹springboot的相關整合,配置,操作。


 

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM