springboot使用minio下载
时间: 2023-07-02 18:14:29 浏览: 197
你好!关于使用Spring Boot集成MinIO进行文件下载,可以按照以下步骤进行操作:
1. 添加MinIO客户端依赖
在 pom.xml 文件中添加以下依赖:
```xml
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.0.5</version>
</dependency>
```
2. 配置MinIO客户端参数
在 application.yml 或 application.properties 文件中添加以下配置项:
```yml
minio:
url: http://localhost:9000
access-key: minioadmin
secret-key: minioadmin
bucket-name: test
```
其中,`url` 配置项为 MinIO 服务器的访问地址,`access-key` 和 `secret-key` 配置项为 MinIO 服务器的访问凭证,`bucket-name` 配置项为要操作的存储桶名称。
3. 编写文件下载接口
```java
@RestController
public class MinioController {
@Autowired
private MinioClient minioClient;
@Value("${minio.bucket-name}")
private String bucketName;
@GetMapping("/download")
public void downloadFile(@RequestParam String objectName, HttpServletResponse response) {
try {
InputStream inputStream = minioClient.getObject(bucketName, objectName);
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=" + objectName);
IOUtils.copy(inputStream, response.getOutputStream());
response.flushBuffer();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
其中,`minioClient` 为 MinIO 客户端实例,`bucketName` 为要操作的存储桶名称,`downloadFile` 方法为文件下载接口。该接口接收一个文件名参数 `objectName`,通过 `minioClient.getObject` 方法获取文件输入流,将输入流写入到响应流中,实现文件下载。
以上就是使用 Spring Boot 集成 MinIO 进行文件下载的步骤,希望能够对你有所帮助。
阅读全文