• Docker系列【使用docker搭建fastdfs并使用SpringBoot实现文件上传下载】


    Docker安装FastDFS

    1.搜索镜像

    docker search fastdfs
    

    2.下载镜像

    docker pull delron/fastdfs
    

    3.创建Tracker容器

    # tracker服务的默认端口为22122
    docker run -d --name tracker --network=host -v /apps/fastdfs/tracker:/var/fdfs delron/fastdfs tracker
    
    #进入tracker容器
    docker exec -it tracker bash
    #配置文件目录,可以修改tracker.conf,一般默认即可
    cd /etc/fdfs
    

    4.创建Storage服务

    # 注意修改ip地址为你自己的服务器ip,端口默认为2300,nginx端口8888
    docker run -d --name storage --network=host -e TRACKER_SERVER=ip:22122 -v /apps/fastdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
    
    #进入storage容器
    docker exec -it storage bash
    #配置文件目录,可以修改storage.conf,一般默认即可
    cd /etc/fdfs
    

    5.测试文件上传

    1.在物理机映射目录/apps/fastdfs/storage目录下传一张照片,我这里传了一个1.jgp

    按照上面截图,操作完,访问http://ip:8888/group1/M00/00/00/wKgABGKnZbaAIaOkADfje5gJRZ8693.jpg,能正常出来图片,说明没问题。

    /usr/bin/fdfs_upload_file /etc/fdfs/client.conf 文件名
    

    SpringBoot集成fastdfs

    1.引入pom

    	<dependency>
                <groupId>com.luhuiguo</groupId>
                <artifactId>fastdfs-spring-boot-starter</artifactId>
                <version>0.2.0</version>
            </dependency>
    

    2.修改application.yml文件

    spring:
      servlet:
        multipart:
          max-file-size: 50MB
          max-request-size: 50MB
    fdfs:
      connect-timeout: 2000
      so-timeout: 2000
      tracker-list: ip:22122
    
    

    3.编写上传接口

    @RestController
    @Api(tags = "文件管理")
    @RequestMapping("fastdfs")
    public class FastDFSController {
    
        @Autowired
        private FastFileStorageClient fastFileStorageClient;
    
        @PostMapping("upload")
        @ApiOperation("文件上传")
        public String upload(MultipartFile file) throws IOException {
            String originalFilename = file.getOriginalFilename();
            StorePath storePath = fastFileStorageClient.uploadFile(null, file.getInputStream(), file.getSize(), originalFilename);
            return storePath.getFullPath();
        }
    }
    
  • 相关阅读:
    RF基本框架搭建
    Robot Framework连接Oracle数据库
    RF接口测试
    RF-Selenium2Library关键字
    RF-autoit3中有关Send的用法
    RF-selenium2library库
    IPD产品开发流程
    python函数
    python字典
    python元组
  • 原文地址:https://www.cnblogs.com/hujunwei/p/16372931.html
Copyright © 2020-2023  润新知