docker安装go-fastdfs以及Java实现上传功能

一、docker安装

  1. docker search go-fastdfs
    在这里插入图片描述
  2. docker pull sjqzhang/go-fastdfs
  3. 创建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

  1. 启动gofastdfs
docker-compose -f docker-compose-gofastdfs.yml up -d
  1. 查看容器启动后,访问查看(我这里映射端口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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值