SpringBoot整合Fastdfs,實現圖片上傳(IDEA)

咱們部署Fastdfs,就是爲了實現文件的上傳。

如今使用idea整合Fastdfs,實現圖片上傳

部署環境:Centos7部署分佈式文件存儲(Fastdfs)

利用Java客戶端調用FastDFS

服務器安裝完畢後,我們經過Java調用fastdfsjava

加載Maven依賴git

fastdfs 沒有在中心倉庫中提供獲取的依賴座標。github

只能本身經過源碼方式編譯,打好jar 包,安裝到本地倉庫。spring

官方倉庫地址:瀏覽器

https://github.com/happyfish100/fastdfs-client-java服務器

直接用idea 直接把這個源碼做爲模塊導入工程網絡

 

別的不用改,只把pom.xml中的版本改爲1.27。app

而後右邊 執行install 就行了socket

安裝好了 ,別的模塊就能夠直接使用這個座標了。分佈式

<dependency>
            <groupId>org.csource</groupId>
            <artifactId>fastdfs-client-java</artifactId>
            <version>1.27-SNAPSHOT</version>
        </dependency>

而這個fastdfs-client-java模塊能夠從idea 中刪除。

而後能夠進行一下上傳的測試

 

package com.atguigu.gmall.manage;

import org.csource.common.MyException;
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 org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.io.IOException;

@RunWith(SpringRunner.class)
@SpringBootTest
public class GmallManageWebApplicationTests {


    @Test
    public void contextLoads() throws IOException, MyException {

        //配置fdfs的全局鏈接地址
        String tracker = GmallManageWebApplicationTests.class.getResource("/tracker.conf").getPath();//獲取配置文件路徑

        ClientGlobal.init(tracker);

        TrackerClient trackerClient = new TrackerClient();
        //得到一個trackerserver的實例
        TrackerServer trackerServer = trackerClient.getConnection();
        //經過tracker得到storage客戶端
        StorageClient storageClient = new StorageClient(trackerServer, null);

        String[] uploadInfos = storageClient.upload_file("g:/9.gif", "gif", null);

        String url="http://192.168.116.129";

        for (String uploadInfo : uploadInfos){
            url+="/"+uploadInfo;

        }
        System.out.println(url);
    }
}

加入tracker.conf文件

tracker_server=192.168.67.162:22122

# 鏈接超時時間,針對socket套接字函數connect,默認爲30秒
connect_timeout=30000

# 網絡通信超時時間,默認是60秒
network_timeout=60000

打印結果

 

這個打印結果實際上就是咱們訪問的路徑,加上服務器地址咱們能夠拼接成一個字符串

http://192.168.116.129/group1/M00/00/00/wKh0gV2dHmGAFpUzAA7-f54U48M105.gif

直接放到瀏覽器去訪問

相關文章
相關標籤/搜索