SpringBoot整合minio快速入门教程(代码示例)

网友投稿 419 2022-08-06


SpringBoot整合minio快速入门教程(代码示例)

分享一个快速使用springboot整合minio实现文件上传和下载的示例。前提是已经安装并运行minio服务,参考 minio快速入门文档

首先添加Minio的依赖

io.GLPMPminio

minio

3.0.10

然后写一个controller类

这只是一个简单的demo,没有进行任何的封装,可以根据实际情况进行封装。

package com.file.server.controller;

import io.minio.MinioClient;

import org.apache.tomcat.util.http.fileupload.IOUtils;

import org.springframework.web.bind.annotation.*;

import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

import java.io.InputStream;

@RestController

public class MinioController {

private static String url = "http://127.0.0.1:9000"; //minio服务的IP端口

private static String accessKey = "W2ZWITFFDWFM5TWS3WI9";

private static String secretKey = "dNx++XsRJpjmWVQHWv8djMCFJ0A3YXbEr4qfKHR+";

//上传文件到minio服务

@PostMapping("upload")

public String upload(@RequestParam("fileName") MultipartFile file ) {

try {

MinioClient minioClient = new MinioClient(url, accessKey, secretKey);

InputStream is= file.getInputStream(); //得到文件流

String fileName = file.getOriginalFilename(); //文件名

String contentType = file.getContentType(); //类型

minioClient.putObject("file",fileName,is,contentType); //把文件放置Minio桶(文件夹)

return "上传成功";

}catch (Ehttp://xception e){

return "上传失败";

}

}

//下载minio服务的文件

@GetMapping("download")

public String download(HttpServletResponse response){

http:// try {

MinioClient minioClient = new MinioClient(url, accessKey, secretKey);

InputStream fileInputStream = minioClient.getObject("file", "test.jpg");

response.setHeader("Content-Disposition", "attachment;filename=" + "test.jpg");

response.setContentType("application/force-download");

response.setCharacterEncoding("UTF-8");

IOUtils.copy(fileInputStream,response.getOutputStream());

return "下载完成";

}catch (Exception e){

return "下载失败";

}

}

//获取minio文件的下载地址

@GetMapping("url")

public String getUrl(){

try {

MinioClient minioClient = new MinioClient(url, accessKey, secretKey);

String url = minioClient.presignedGetObject("file", "test.jpg");

return url;

}catch (Exception e){

return "获取失败";

}

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Dubbo+zookeeper搭配分布式服务的过程详解
下一篇:SpringBoot中整合Minio文件存储的安装部署过程(springboot minio 集成)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~