1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| 第一步: 在minio操作页面创建一个用户(给读写权限),并且在创建accessKey和securityKey 第二步: 创建SpringBoot项目添加minio依赖 第三步: 在SpringBoot配置minio服务器 application.yml minio: # minio账户的access access_key: s9Aev3pEpCqKaaoMuanY # minio账户的security security_key: mvsXMUYHq44GQkZERtbzzspYu1iULIvGsZynwC80 # 服务器地址 endpoint: http: # 创建桶,用来装文件(可以在minio页面创建,并且分配权限,默认私有) bucketName: test 第四步: 创建minio客户端
import io.minio.MinioClient; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class MinioConfig { @Value("${minio.endpoint}") private String endpoint; @Value("${minio.access_key}") private String accessKey; @Value("${minio.security_key}") private String secretKey; @Bean public MinioClient createMinioClient() { return MinioClient.builder().endpoint(endpoint).credentials(accessKey, secretKey).build(); } }
第五步: 上传和删除代码实现 @Resource private MinioClient minioClient; @Value("${minio.bucketName}") private String bucketName; @Value("${minio.endpoint}") private String endpoint;
@PostMapping(value = "/deleteFile") public Object deleteFile(String fileName) throws Exception { minioClient.removeObject(RemoveObjectArgs.builder() .bucket(bucketName) .object(fileName) .build()); return Map.of("code","0","msg","删除成功"); }
@PostMapping(value = "/uploadFile") public Object uploadFile(MultipartFile file) throws Exception { createBucket(minioClient,bucketName); try { minioClient.putObject(PutObjectArgs.builder(). bucket(bucketName) .object(file.getOriginalFilename()) .stream(file.getInputStream(), file.getSize(), -1) .contentType(file.getContentType()) .build()); return Map.of("code",0,"msg","success","data",endpoint+bucketName+"/"+file.getOriginalFilename()); }catch (Exception e) { e.printStackTrace(); } return Map.of("code",0,"msg","success"); }
public void createBucket(MinioClient minioClient, String bucketName) throws Exception { boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build()); if (!found) { minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build()); } else { System.out.println("Bucket " + bucketName + " already exists."); } }
|