继Minio环境搭建篇之后,
具体链接: https://www.cnblogs.com/xifenglou/p/11988338.html
整理一下minio后端使用篇,主要步骤如下:
- 1.引入Jar包,gradle方式:
compile 'io.minio:minio:5.0.2'
- 编写service bean
View Code
1 @Service 2 @Slf4j 3 public class MinioService { 4 5 private MinioClient minioClient; 6 7 private MimetypesFileTypeMap mimetypesFileTypeMap; 8 9 10 @Value("${minio.address}") 11 private String address; 12 13 @Value("${minio.accessKey}") 14 private String accessKey; 15 16 @Value("${minio.secretKey}") 17 private String secretKey; 18 19 public String getContentType(String fileName) { 20 if (mimetypesFileTypeMap == null) { 21 mimetypesFileTypeMap = new MimetypesFileTypeMap(); 22 } 23 return mimetypesFileTypeMap.getContentType(fileName); 24 } 25 @PostConstruct 26 private void init() throws Exception { 27 minioClient = new MinioClient(address, accessKey, secretKey); 28 } 29 30 public MinioClient getMinioClient() { 31 return this.minioClient; 32 } 33 public String getContentType(String fileName) { 34 if (mimetypesFileTypeMap == null) { 35 mimetypesFileTypeMap = new MimetypesFileTypeMap(); 36 } 37 return mimetypesFileTypeMap.getContentType(fileName); 38 } 39 40 public MinioFile getBucketFromUrl(String url) { 41 String[] split = url.split("/"); 42 if (split.length < 3) { 43 throw new RuntimeException("getBucketFromUrl: url " + url + " format is incorrect"); 44 } 45 StringBuilder stringBuilder = new StringBuilder(); 46 for (int i = 2; i < split.length; i++) { 47 stringBuilder.append(split[i]); 48 if (i != split.length - 1) { 49 stringBuilder.append("/"); 50 } 51 } 52 String fileName = stringBuilder.toString(); 53 return new MinioFile(split[1], fileName); 54 } 55 56 }