导入依赖

<dependency><groupId>com.github.tobato</groupId><artifactId>fastdfs-client</artifactId><version>1.26.7</version>
</dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version>
</dependency>

配置yml文件

fdfs:so-timeout: 3000connect-timeout: 1000thumb-image:width: 60height: 60tracker-list:- localhost:22122
编写工具类
package com.example.demo.util;import com.github.tobato.fastdfs.service.FastFileStorageClient;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.multipart.MultipartFile;import java.io.IOException;public class UploadMediaUtil {public static String upload(MultipartFile file,  FastFileStorageClient fastFileStorageClient) throws IOException {String path = "";if (file != null) {// 获取文件上传的文件名称String fileName = file.getOriginalFilename();if (StringUtils.isNotBlank(fileName)) {String[] fileNameArr = fileName.split("\\.");// 获取文件的后缀名String suffix = fileNameArr[fileNameArr.length - 1];path=fastFileStorageClient.uploadFile(file.getInputStream(), file.getSize(), suffix, null).getFullPath();System.out.println(path);}return path;}else {return "文件不能为空! ";}}

调用

@Autowired
private FastFileStorageClient fastFileStorageClient;
@PostMapping("/upload")
public String upload(MultipartFile file) throws IOException {String upload = UploadMediaUtil.upload(file, fastFileStorageClient);return upload;
}

fastdfs简单封装相关推荐

  1. Android APP更新下载工具类——简单封装DownloadManager

    几乎所有APP都包含了检查更新功能,更新下载功能的实现方式常用的有两种:1.使用App网络框架的文件下载请求:2.使用自带的DownloadManager类:本文介绍第二种,简单封装一下Downloa ...

  2. 简单封装浏览器 cookie 工具类

    版权声明:本文首发 http://asing1elife.com ,转载请注明出处. https://blog.csdn.net/asing1elife/article/details/8265571 ...

  3. 小程序简单封装 request 请求

    我在这里做了详细的介绍 : 小程序简单封装 request 请求 转载于:https://www.cnblogs.com/biangz/p/9984340.html

  4. 简单封装 HTTP 请求

    2017-2-19 更新到第二版: 源码地址:http://git.oschina.net/sp42/ajaxjs/tree/master/ajaxjs-base/src/com/ajaxjs/net ...

  5. 【JDBC】实现对JDBC 连接的简单封装

    package util;import java.sql.Connection; import java.sql.DriverManager;/**** 实现对JDBC 的封装* @author mq ...

  6. Android AsyncTask 深度理解、简单封装、任务队列分析、自定义线程池

    前言:由于最近在做SDK的功能,需要设计线程池.看了很多资料不知道从何开始着手,突然发现了AsyncTask有对线程池的封装,so,就拿它开刀,本文将从AsyncTask的基本用法,到简单的封装,再到 ...

  7. ios开发之使用多文件上传的简单封装最原始的

    ios开发之使用多文件上传的简单封装最原始的 // // ViewController.m // 18-上传多个文件 // // Created by 鲁军 on 2021/2/13. //#impo ...

  8. Spring jdbc 对象Mapper的简单封装

    一般查询实体的时候,都需要这么使用/**      * 根据id查询      *       * @return      */     public Emp queryEmpById(Intege ...

  9. Google图片加载库Glide的简单封装GlideUtils

    Google图片加载库Glide的简单封装GlideUtils  

最新文章

  1. mysql 性能日志_Mysql系列(十一)—— 性能分析慢查询日志
  2. sumif三个条件怎么填_函数SUMIF和SUMIFS
  3. spring AbstractBeanDefinition创建bean类型是动态代理类的方式
  4. QImage QPixmap Mat区别
  5. MYSQL Too many connections错误的解决办法
  6. 说说设计模式~桥梁模式(Bridge)
  7. 如何生成草料二维码在手机查看微信效果
  8. Android Stutio 3.0 - Gradle sync failed
  9. html扩展名用于保存清单文件,html5 – HTML 5缓存清单是否也适用于ajax请求?
  10. python如何使用sdk_如何通过Python访问Kvaser CANlib 软件开发包|Kvaser CANlib SDK的应用...
  11. VTK用户指南3:第一部分vtk简介_3系统概述
  12. Python中的二维数组定义
  13. 新建参考线快捷键,透视快捷键
  14. 嵌入式系统移植课笔记1(学通)
  15. PVM and MPI 比较
  16. python中文名是什么怎么读-python中文读音
  17. DFS回溯-函数递归-xiaoz triangles
  18. 1 Microservice 简介
  19. 物联网设备安全2.1 酒店门锁和磁卡
  20. 跨浏览器书签同步(Floccus + WebDav)

热门文章

  1. 【NOJ1142】【算法实验二】踩气球
  2. 【计算机网络】——奈氏准则与香农公式,它们之间到底有何区别?
  3. ant design pro Routes和authority用法及搭配使用1
  4. redis应用场景之秒杀
  5. 400 Bad Request Request Header Or Cookie Too Large
  6. 二维数组打印杨辉三角
  7. js 弹出确认 取消对话框
  8. 探索性分析——EDA常用步骤
  9. 适合零基础学习的IT编程技术
  10. org.apache.jasper.JasperException