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

 更新时间:2019年12月09日 09:15:28   作者:if年少有为  
这篇文章主要介绍了springboot2.0如何通过fastdfs实现文件分布式上传,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了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);
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java如何使用Jetty实现嵌入式的Servlet容器

    Java如何使用Jetty实现嵌入式的Servlet容器

    这篇文章主要介绍了Java使用Jetty实现嵌入式的Servlet容器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面我们来一起了解一下吧
    2019-06-06
  • Java实现拖拽文件上传dropzone.js的简单使用示例代码

    Java实现拖拽文件上传dropzone.js的简单使用示例代码

    本篇文章主要介绍了Java实现拖拽文件上传dropzone.js的简单使用示例代码,具有一定的参考价值,有兴趣的可以了解一下
    2017-07-07
  • Java实现递归读取文件夹下的所有文件

    Java实现递归读取文件夹下的所有文件

    这篇文章主要为大家详细介绍了如何利用Java实现递归读取文件夹下的所有文件,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-02-02
  • 一文带你深入了解Guava的缓存机制

    一文带你深入了解Guava的缓存机制

    缓存在现代编程中的作用非常大,它能提高应用性能,减少数据库压力,简直就是性能优化的利器,本文主要来和大家聊聊Google Guava的缓存机制,感兴趣的小伙伴可以了解下
    2023-12-12
  • java根据ip地址获取详细地域信息的方法

    java根据ip地址获取详细地域信息的方法

    这篇文章主要介绍了java根据ip地址获取详细地域信息的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 手动部署java项目到k8s中的实现

    手动部署java项目到k8s中的实现

    本文主要介绍了手动部署java项目到k8s中的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • java poi sax方式处理大数据量excel文件

    java poi sax方式处理大数据量excel文件

    这篇文章主要介绍了java poi sax方式处理大数据量excel文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Java 深入探究讲解简单工厂模式

    Java 深入探究讲解简单工厂模式

    简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现
    2022-04-04
  • java实现哈夫曼文件解压缩

    java实现哈夫曼文件解压缩

    这篇文章主要为大家详细介绍了java实现哈夫曼文件解压缩,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Java中的四种单例模式浅析

    Java中的四种单例模式浅析

    这篇文章主要给大家介绍了关于Java中四种单例模式的相关资料,其中包括饿汉式、懒汉式、懒汉式(双重锁)及内部类等四种,分别给出了详细的示例代码和介绍,需要的朋友们下面来一起看看吧。
    2017-05-05

最新评论