您好,登錄后才能下訂單哦!
這篇文章給大家介紹springboot2.0中怎么利用fastdfs實現文件分布式上傳,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1. 引入依賴
在父工程中,我們已經管理了依賴,版本為:
<fastDFS.client.version>1.26.7</fastDFS.client.version>
因此,這里我們直接在工程的pom.xml中引入坐標即可:
<dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId></dependency>
@Configuration@Import(FdfsClientConfig.class)// 解決jmx重復注冊bean的問題@EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)public class FastClientImporter {}
2. 在application.yml文件中編寫FastDFS屬性
fdfs: so-timeout: 1501 # 超時時間 connect-timeout: 601 # 連接超時時間 thumb-image: # 縮略圖 width: 60 height: 60 tracker-list: # tracker地址:你的虛擬機服務器地址+端口(默認是22122) - 192.168.0.22:22122
3. 測試
package com.leyou.upload.test;import com.github.tobato.fastdfs.domain.fdfs.StorePath;import com.github.tobato.fastdfs.domain.fdfs.ThumbImageConfig;import com.github.tobato.fastdfs.service.FastFileStorageClient;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;/** * @author john * @date 2019/12/6 - 15:09 */@SpringBootTest@RunWith(SpringRunner.class)public class FastDFSTest { @Autowired private FastFileStorageClient storageClient; @Autowired private ThumbImageConfig thumbImageConfig; @Test public void testUpload() throws FileNotFoundException { // 要上傳的文件 File file = new File("D:\\imooc\\project\\images\\1.jpg"); // 上傳并保存圖片,參數:1-上傳的文件流 2-文件的大小 3-文件的后綴 4-可以不管他 StorePath storePath = this.storageClient.uploadFile( new FileInputStream(file), file.length(), "jpg", null); // 帶分組的路徑 System.out.println(storePath.getFullPath()); // 不帶分組的路徑 System.out.println(storePath.getPath()); } @Test public void testUploadAndCreateThumb() throws FileNotFoundException { File file = new File("D:\\imooc\\project\\images\\2.jpg"); // 上傳并且生成縮略圖 StorePath storePath = this.storageClient.uploadImageAndCrtThumbImage( new FileInputStream(file), file.length(), "png", null); // 帶分組的路徑 System.out.println(storePath.getFullPath()); // 不帶分組的路徑 System.out.println(storePath.getPath()); // 獲取縮略圖路徑 String path = thumbImageConfig.getThumbImagePath(storePath.getPath()); System.out.println(path); }}
關于springboot2.0中怎么利用fastdfs實現文件分布式上傳就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。