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

  • Post author:
  • Post category: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



版权声明:本文为weixin_44102521原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。