一、docker安装
-
docker search go-fastdfs
-
docker pull sjqzhang/go-fastdfs
- 创建docker-compose-gofastdfs.yml文件
version: "3"
services:
fastdfs:
image: go-fastdfs:latest
container_name: go-fastdfs
privileged: true
restart: always
ports:
- "8855:8080"
environment:
GO_FASTDFS_DIR: /usr/local/go-fastdfs/data
volumes:
- /home/xbb/docker/data/goFastdfs:/usr/local/go-fastdfs/data
创建宿主机挂载目录/home/xbb/docker/data/goFastdfs
- 启动gofastdfs
docker-compose -f docker-compose-gofastdfs.yml up -d
-
查看容器启动后,访问查看(我这里映射端口8855)IP:8855
此时gofastdfs搭建成功。
二、java 实现go-fastdfs上传
go-fastdfs是一个基于http协议的分布式文件系统,它基于大道至简的设计理念,一切从简设计,使得它的运维及扩展变得更加简单,它具有高性能、高可靠、无中心、免维护等优点。
1. Hutool-http方式
先在pom中添加hutool的依赖
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.5.1</version>
</dependency>
接着在Controller中代码示例(因为我这里是搭建在200上 所以直接调用上传接口)
@PostMapping("/upload")
public String upload(MultipartFile file) {
String result = "";
try {
InputStreamResource isr = new InputStreamResource(file.getInputStream(),
file.getOriginalFilename());
Map<String, Object> params = new HashMap<>();
params.put("file", isr);
params.put("output", "json");
String resp = HttpUtil.post("http://10.168.103.200:8855/group1/upload", params);
Map<String, Object> res = null;
try {
Gson gson = new Gson();
res = gson.fromJson(resp, new TypeToken<Map<String, Object>>() {}.getType());
System.out.println(res);
} catch (JsonSyntaxException e) {
}
result = resp;
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(result);
return result;
}
测试返回的数据
然后访问查看:即可下载
目前我只测试了 Hutool-http方式方式了
其他方式请参考:
https://blog.csdn.net/weixin_33985507/article/details/91704703
版权声明:本文为weixin_44102521原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。