1. 程式人生 > >FastDFS分散式檔案管理伺服器入門

FastDFS分散式檔案管理伺服器入門

1 使用Fastdfs 的java客戶端

在maven工程中使用jar包,需要新增依賴,不能直接新增jar包。

可以匯入如下圖所示的專案,並安裝到本地倉庫。

FastDFS-client的maven專案

第一步:匯入,(maven  install)並安裝到本地倉庫

第二步:copy 座標到example_manager_web專案中的pom.xml中。

新增依賴

第三步:測試java程式碼:

Ø  加入測試依賴:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</
artifactId>     <scope>test</scope> </dependency>

Ø  建立目錄結構為src/test/java,並設定如圖所示的java目錄為testresource目錄

Ø  編寫測試程式碼

第一步:建立配置檔案fastdfs.conf ,並設定內容為:tracker_server=192.168.25.133:22122

第二步:載入全域性的配置檔案

第三步:建立trackerClient物件

第四步:建立trackerServer物件

第五步:建立storageServer物件設定為null即可

第六步:建立storageClient 的物件

第七步:使用storageClient物件上傳圖片

@Test
    public void testFastdfs() throws  Exception{
  //        第一步:建立配置檔案fastdfs.conf ,並設定內容為:track_server=192.168.25.133:22122
  
//        第二步:載入全域性的配置檔案
        ClientGlobal.init("C:\\Users\\ThinkPad\\IdeaProjects\\example_parent\\example_manager_web\\src\\main\\resources
\\resources\\fastdfs.conf"
); //        第三步:建立trackerClient物件         TrackerClient trackerClient = new TrackerClient(); //        第四步:建立trackerServer物件         TrackerServer trackerServer = trackerClient.getConnection(); //        第五步:建立storageServer物件設定為null即可         StorageServer storageServer =null; //        第六步:建立storageClient 的物件         StorageClient storageClient = new StorageClient(trackerServer,storageServer); //        第七步:使用storageClient物件上傳圖片         String[] strings = storageClient.upload_file("C:\\Users\\Public\\Pictures\\Sample Pictures\\Koala.jpg", "jpg", null);         for (String string : strings) {             System.out.println(string);         }     }

配置檔案如下:

2 使用fastdfs的工具類開發

新增如下程式碼放入example_manager_web工程下:

測試程式碼:

@Test

publicvoidtestFastDfsClient() throws Exception {

          FastDFSClient fastDFSClient =new FastDFSClient("D:/workspaces-itcast/term197/example-manager-web/src/main/resources/resource/client.conf");

          String file =fastDFSClient.uploadFile("D:/Documents/Pictures/images/2f2eb938943d.jpg");

          System.out.println(file);

     }