FastDFS与springboot整合例子
余庆先生提供了一个Java客户端,但是作为一个C程序员,写的java代码可想而知。而且已经很久不维护了。
这里推荐一个开源的FastDFS客户端,支持最新的SpringBoot2.0。
配置使用极为简单,支持连接池,支持自动生成缩略图,狂拽酷炫吊炸天啊,有木有。
引入依赖
在父工程中,我们已经管理了依赖,版本为:
- <fastDFS.client.version>1.25.2-RELEASE</fastDFS.client.version>
因此,这里我们直接引入坐标即可:
- <dependency>
- <groupId>com.github.tobato</groupId>
- <artifactId>fastdfs-client</artifactId>
- </dependency>
引入配置类
纯java配置:
- @Configuration
- @Import(FdfsClientConfig.class)
- // 解决jmx重复注册bean的问题
- @EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)
- public class FastClientImporter {
- }
编写FastDFS属性
- fdfs:
- so-timeout: 1501
- connect-timeout: 601
- thumb-image: # 缩略图
- width: 60
- height: 60
- tracker-list: # tracker地址
- - 192.168.56.101:22122
测试
- @RunWith(SpringRunner.class)
- @SpringBootTest(classes = LyUploadService.class)
- public class FdfsTest {
- @Autowired
- private FastFileStorageClient storageClient;
- @Autowired
- private ThumbImageConfig thumbImageConfig;
- @Test
- public void testUpload() throws FileNotFoundException {
- File file = new File("D:\\test\\baby.png");
- // 上传并且生成缩略图
- StorePath storePath = this.storageClient.uploadFile(
- new FileInputStream(file), file.length(), "png", null);
- // 带分组的路径
- System.out.println(storePath.getFullPath());
- // 不带分组的路径
- System.out.println(storePath.getPath());
- }
- @Test
- public void testUploadAndCreateThumb() throws FileNotFoundException {
- File file = new File("D:\\test\\baby.png");
- // 上传并且生成缩略图
- 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);
- }
- }
结果:
- group1/M00/00/00/wKg4ZVro5eCAZEMVABfYcN8vzII630.png
- M00/00/00/wKg4ZVro5eCAZEMVABfYcN8vzII630.png
- M00/00/00/wKg4ZVro5eCAZEMVABfYcN8vzII630_60x60.png
FastDFS与springboot整合例子的更多相关文章
- 【FastDFS】SpringBoot整合FastDFS实战,我只看这一篇!!
写在前面 在<[FastDFS]小伙伴们说在CentOS 8服务器上搭建FastDFS环境总报错?>和<[FastDFS]面试官:如何实现文件的大规模分布式存储?(全程实战)> ...
- 分布式文件系统FastDFS简介、搭建、与SpringBoot整合实现图片上传
之前大学时搭建过一个FastDFS的图片服务器,当时只是抱着好奇的态度搭着玩一下,当时搭建采用了一台虚拟机,tracker和storage服务在一台机器上放着,最近翻之前的博客突然想着在两台机器上搭建 ...
- springboot整合elasticsearch入门例子
springboot整合elasticsearch入门例子 https://blog.csdn.net/tianyaleixiaowu/article/details/72833940 Elastic ...
- SpringBoot整合spring-security-oauth2完整实现例子
SpringBoot整合spring-security-oauth2完整实现例子 技术栈 : springboot + spring-security + spring-oauth2 + mybati ...
- 第2-1-4章 SpringBoot整合FastDFS文件存储服务
目录 5 SpringBoot整合 5.1 操作步骤 5.2 项目依赖 5.3 客户端开发 5.3.1 FastDFS配置 5.3.2 FastDFS配置类 5.3.3 文件工具类 5.3.4 文件上 ...
- SpringBoot整合Redis、ApachSolr和SpringSession
SpringBoot整合Redis.ApachSolr和SpringSession 一.简介 SpringBoot自从问世以来,以其方便的配置受到了广大开发者的青睐.它提供了各种starter简化很多 ...
- Springboot整合Elastic-Job
Elastic-Job是当当网的任务调度开源框架,有以下功能 分布式调度协调 弹性扩容缩容 失效转移 错过执行作业重触发 作业分片一致性,保证同一分片在分布式环境中仅一个执行实例 自诊断并修复分布式不 ...
- springboot整合springdata-jpa
1.简介 SpringData : Spring 的一个子项目.用于简化数据库访问,支持NoSQL 和 关系数据存储.其主要目标是使数据库的访问变得方便快捷. SpringData 项目所支持 No ...
- 补习系列(6)- springboot 整合 shiro 一指禅
目标 了解ApacheShiro是什么,能做什么: 通过QuickStart 代码领会 Shiro的关键概念: 能基于SpringBoot 整合Shiro 实现URL安全访问: 掌握基于注解的方法,以 ...
随机推荐
- HDU 1556-Color the ball-树状数组
树状数组的成段更新. 首先要明白,insert函数的意思是更新某一点值,query函数的意思是从起点到某一点的和. 更新[a,b]段时,在a点插入一个1,在b+1点插入一个-1.这时,query(a) ...
- Android ProgressDialog 简单实用
ProgressDialog progressDialog; @SuppressLint("HandlerLeak") Handler handler1 = new Handler ...
- 【BZOJ3809】Gty的二逼妹子序列 莫队 分块
题目描述 给你一个长度为\(n\)的数列,还有\(m\)个询问,对于每个询问\((l,r,a,b)\),输出区间\([l,r]\)有多少范围在\([a,b]\)的权值. \(n\leq 100000, ...
- CF280C Game on Tree
题目链接 : CF280C Game on Tree 题意 : 给定一棵n个节点的树T 根为一(我咕的翻译漏掉了...) 每次随机选择一个未被删除的点 并将它的子树删除 求删整棵树的期望步数 n ∈ ...
- web 压力测试工具
最近有收到任务,测试新服务器的性能. 花了很长时间做搜索,也整理了一些资料.以下是收集到一些简单易用的分析工具.推荐给大家使用. WebBenchhttp://www.ha97.com/4623.ht ...
- 树莓派播放网络磁盘MP3文件
树莓派映射网络磁盘 sudo mount -t cifs -o username=jerry.huang,password=Hello2014 //10.10.0.1/Public/ESLPod.co ...
- LOJ# 572. 「LibreOJ Round #11」Misaka Network 与求和(min25筛,杜教筛,莫比乌斯反演)
题意 求 \[ \sum_{i = 1}^{n} \sum_{i = 1}^{n} f(\gcd(i, j))^k \pmod {2^{32}} \] 其中 \(f(x)\) 为 \(x\) 的次大质 ...
- Android 一些关于 Activity 的技巧
锁定 Activity 运行时的屏幕方向 Android 内置了方向感应器的支持.在 G1 中,Android 会根据 G1 所处的方向自动在竖屏和横屏间切换.但是有时我们的应用程序仅能在横屏 / 竖 ...
- 654. Maximum Binary Tree
654. Maximum Binary Tree 题目大意: 意思就是给你一组数,先选一个最大的作为根,这个数左边的数组作为左子树,右边的数组作为右子树,重复上一步. 读完就知道是递归了. 这个题真尼 ...
- centos7 下解决mysql-server找不到安装包问题
第一步:安装从网上下载文件的wget命令 [root@master ~]# yum -y install wget 第二步:下载mysql的repo源 [root@master ~]# wget ht ...