Java操作fastDFS
2024-09-05 12:51:02
一、加入Maven依赖
<dependency>
<groupId>org.csource</groupId>
<artifactId>fastdfs-client-java</artifactId>
<version>1.27-SNAPSHOT</version>
</dependency>
二、客户端代码
@RunWith(SpringRunner.class)
@SpringBootTest
public class GmallManageWebApplicationTests {
@Test
public void contextLoads() throws IOException, MyException {
// 配置fdfs的全局链接地址
String tracker = GmallManageWebApplicationTests.class.getResource("/tracker.conf").getPath();// 获得配置文件的路径
ClientGlobal.init(tracker);
TrackerClient trackerClient = new TrackerClient();
// 获得一个trackerServer的实例
TrackerServer trackerServer = trackerClient.getConnection();
// 通过tracker获得一个Storage链接客户端
StorageClient storageClient = new StorageClient(trackerServer,null);
String[] uploadInfos = storageClient.upload_file("d:/a.jpg", "jpg", null);
String url = "http://192.168.2.128";
for (String uploadInfo : uploadInfos) {
url += "/"+uploadInfo;
//url = url + uploadInfo;
}
System.out.println(url);
}
}
tracker.conf
tracker_server=192.168.2.128:22122
# 连接超时时间,针对socket套接字函数connect,默认为30秒
connect_timeout=30000
# 网络通讯超时时间,默认是60秒
network_timeout=60000
控制台打印:
http://192.168.2.128/group1/M00/00/00/wKgCgF2xkrOANCrrAAxpifD7458779.jpg
此路径在浏览器中访问即可访问我们上传的图片。
工具类
public class PmsUploadUtil {
public static String uploadImage(MultipartFile multipartFile) {
String imgUrl = "http://192.168.2.128";
// 上传图片到服务器
// 配置fdfs的全局链接地址
String tracker = PmsUploadUtil.class.getResource("/tracker.conf").getPath();// 获得配置文件的路径
try {
ClientGlobal.init(tracker);
} catch (Exception e) {
e.printStackTrace();
}
TrackerClient trackerClient = new TrackerClient();
// 获得一个trackerServer的实例
TrackerServer trackerServer = null;
try {
trackerServer = trackerClient.getConnection();
} catch (IOException e) {
e.printStackTrace();
}
// 通过tracker获得一个Storage链接客户端
StorageClient storageClient = new StorageClient(trackerServer,null);
try {
byte[] bytes = multipartFile.getBytes();// 获得上传的二进制对象
// 获得文件后缀名
String originalFilename = multipartFile.getOriginalFilename();// a.jpg
System.out.println(originalFilename);
int i = originalFilename.lastIndexOf(".");
String extName = originalFilename.substring(i+1);
String[] uploadInfos = storageClient.upload_file(bytes, extName, null);
for (String uploadInfo : uploadInfos) {
imgUrl += "/"+uploadInfo;
}
} catch (Exception e) {
e.printStackTrace();
}
return imgUrl;
}
}
在springmvc文件上传控制器中我们只需要用MultipartFile multipartFile
参数去接收就可以了。
最新文章
- asp.net中获取本机的相关信息!(CPU、内存、硬盘序列号等)
- Maven中的dependencyManagement 意义
- php 复习
- Sublime 保存时自动转换tab成空格
- iOS开发笔记11:表单键盘遮挡、浮点数价格格式化显示、省市区选择器、View Debugging
- java基础知识——程序员面试基础
- jQuery的delegate
- 嗯,这个BLOG其实是个更新服务器
- OpenGL------版本历史
- Python简要学习笔记
- hdu2157矩阵快速幂
- Spring Boot 实现 RabbitMQ 延迟消费和延迟重试队列
- 几个dos命令
- hdu 5776 抽屉定理
- Easyui使用心得(1)--DateGrid表格
- [Hive_1] Hive 基本概念
- MySQL8 重置改root密码及开放远程访问
- Linux /dev/null详解
- 使用Hystrix实现自动降级与依赖隔离-微服务
- regular expression 练习
热门文章
- [Algorithm] 21. Merge Two Sorted Lists
- 入门平衡树: Treap
- 洛谷 P2040 打开所有的灯 题解
- js时间练习
- shell 求数组的平均值,求和,最大值,最小值
- C++ STL(标准模板库)的学习了解
- SpringCloud:搭建基于Gateway的微服务网关(二)
- Ubuntu 19.04 国内更新源
- bash: ip: command not found
- Understanding Variational Autoencoders (VAEs)