一、加入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参数去接收就可以了。

最新文章

  1. asp.net中获取本机的相关信息!(CPU、内存、硬盘序列号等)
  2. Maven中的dependencyManagement 意义
  3. php 复习
  4. Sublime 保存时自动转换tab成空格
  5. iOS开发笔记11:表单键盘遮挡、浮点数价格格式化显示、省市区选择器、View Debugging
  6. java基础知识——程序员面试基础
  7. jQuery的delegate
  8. 嗯,这个BLOG其实是个更新服务器
  9. OpenGL------版本历史
  10. Python简要学习笔记
  11. hdu2157矩阵快速幂
  12. Spring Boot 实现 RabbitMQ 延迟消费和延迟重试队列
  13. 几个dos命令
  14. hdu 5776 抽屉定理
  15. Easyui使用心得(1)--DateGrid表格
  16. [Hive_1] Hive 基本概念
  17. MySQL8 重置改root密码及开放远程访问
  18. Linux /dev/null详解
  19. 使用Hystrix实现自动降级与依赖隔离-微服务
  20. regular expression 练习

热门文章

  1. [Algorithm] 21. Merge Two Sorted Lists
  2. 入门平衡树: Treap
  3. 洛谷 P2040 打开所有的灯 题解
  4. js时间练习
  5. shell 求数组的平均值,求和,最大值,最小值
  6. C++ STL(标准模板库)的学习了解
  7. SpringCloud:搭建基于Gateway的微服务网关(二)
  8. Ubuntu 19.04 国内更新源
  9. bash: ip: command not found
  10. Understanding Variational Autoencoders (VAEs)