微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

springcloud minio 文件上传

POM

<dependency>
      <groupId>io.minio</groupId>
      <artifactId>minio</artifactId>
      <version>8.2.1</version>
    </dependency>

 

配置文件

#minio 文件服务器配置
minio:
  hostUrl: http://localhost:9000
  accessKey: admin
  secretKey: admin
  bucketName: myfile

 

Controller/Action:

//minio文件服务器参数
    @Value("${minio.hostUrl}")
    private String minioHostUrl;
    @Value("${minio.accessKey}")
    private String minioAccessKey;
    @Value("${minio.secretKey}")
    private String minioSecretKey;
    @Value("${minio.bucketName}")
    private String minioBucketName;
 
    /**
     *  网页端上传文件(上传到minio文件服务器)
     */
    @RequestMapping(value = "upload", method = RequestMethod.POST)
    public List<String> upload(HttpServletRequest request) throws Exception {
        List<String> filePath=new ArrayList<>();
        MultipartHttpServletRequest murequest = (MultipartHttpServletRequest) request;
        Map<String, multipartfile> files = murequest.getFileMap();// 得到文件map对象
 
        List<String> filePath = new ArrayList<String>();
        for (multipartfile file : files.values()) {
            //源文件名
            String originalFilename = file.getoriginalFilename();
            //保存文件的路径(如2020/7/10/4d132f66a7b948c882e2c1649a58ab70-file1.jpg),防止文件名重复。
            String saveFileName = UUID.randomUUID().toString().replace("-", "").toLowerCase()+"-"+originalFilename;
            //初始化MinioClient
            MinioClient minioClient = MinioClient.builder()
                    .endpoint(minioHostUrl)
                    .credentials(minioAccessKey, minioSecretKey)
                    .build();
            //上传
            minioClient.putObject(
                    PutObjectArgs.builder()
                    .bucket(minioBucketName)        //桶名(文件夹名)
                    .stream(file.getInputStream(),file.getSize(), 5*1024*1024)      //文件,大小
                    .object(saveFileName)       //文件名
                    .build());
            String backFileName="/"+minioBucketName+"/"+saveFileName;
            filePath.add(backFileName);
        }
 
        return filePath;
 
    }

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐