新版minio 上传文件的springboot代码
时间: 2023-06-21 13:12:24 浏览: 188
Springboot通过MinIO进行文件操作代码
以下是一个简单的示例代码,可以使用新版的Minio SDK在Spring Boot应用程序中上传文件:
首先,你需要在你的pom.xml文件中添加以下依赖项:
```xml
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>RELEASE.2021-07-28T23-58-54Z</version>
</dependency>
```
接下来,你需要在应用程序的配置文件中设置Minio服务器的访问密钥和地址:
```
minio:
endpoint: <minio服务器地址>
accessKey: <访问密钥>
secretKey: <秘密密钥>
```
然后,你可以创建一个MinioConfig类,用于配置MinioClient:
```java
@Configuration
public class MinioConfig {
@Value("${minio.endpoint}")
private String endpoint;
@Value("${minio.accessKey}")
private String accessKey;
@Value("${minio.secretKey}")
private String secretKey;
@Bean
public MinioClient minioClient() throws Exception {
return MinioClient.builder()
.endpoint(endpoint)
.credentials(accessKey, secretKey)
.build();
}
}
```
最后,你可以编写一个UploadService类,用于将文件上传到Minio服务器:
```java
@Service
public class UploadService {
@Autowired
private MinioClient minioClient;
public void upload(String bucketName, String fileName, InputStream inputStream) throws Exception {
boolean isExist = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build());
if(!isExist) minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());
minioClient.putObject(PutObjectArgs.builder().bucket(bucketName).object(fileName).stream(inputStream, -1, 10485760).build());
}
}
```
现在,你可以在你的控制器中使用UploadService类来上传文件。例如:
```java
@RestController
@RequestMapping("/api/upload")
public class UploadController {
@Autowired
private UploadService uploadService;
@PostMapping
public ResponseEntity<?> uploadFile(@RequestParam("file") MultipartFile file) throws Exception {
InputStream inputStream = file.getInputStream();
String fileName = file.getOriginalFilename();
uploadService.upload("my-bucket", fileName, inputStream);
return ResponseEntity.ok("File uploaded successfully");
}
}
```
以上代码示例演示了如何使用Minio SDK在Spring Boot应用程序中上传文件。你可以根据自己的需求进行修改和扩展。
阅读全文