springboot2.0如何通过fastdfs实现文件分布式上传

网友投稿 277 2022-12-19


springboot2.0如何通过fastdfs实现文件分布式上传

这篇文章主要介绍了springboot2.0如何通过fastdfs实现文件分布式上传,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1. 引入依赖

在父工程中,我们已经管理了依赖,版本为:

1.26.7

因此,这里我们直接在工程的pom.xml中引入坐标即可:

<dependency>

com.github.tobato

fastdfs-client

@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.stohttp://rageClient.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);

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java Swing JComboBox下拉列表框的示例代码
下一篇:Java Swing JProgressBar进度条的实现示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~