prefácio
O SDK da nova versão do Minio tornou-se bastante grande e muitos dos materiais na Internet são versões antigas e muitos deles não são fáceis de usar, então fui aos documentos oficiais do fígado e, com base na API mais recente, criei o spring-boot-starter, que está pronto para uso imediato .
endereço
nau.minio.spring-boot-starter: minio springboot的starter (gitee.com)
exemplo
1. O sdk oficial é empacotado de forma de alto nível no MinioService.Você pode obter o link de upload (para upload direto do front-end), link de download (link temporário) e informações do arquivo de consulta através do MinioService.
@Autowired
private MinioService minioService;
@Test
void testService() throws Exception {
//获取上传链接 dateDir 1-》为创建日期文件夹 2021/10/28/ 2021/10/29/ 创建后文件全名即:2021/10/29/111111.jpg
String bucket1 = minioService.getUploadUrl("bucket1", "111111.jpg", 7200, 1);
System.out.println(bucket1);
//获取下载链接
String url = minioService.getObjectUrl("bucket1", "2021/10/29/111111.jpg", 7200);
System.out.println(url);
//获取文件详情。也可获取文件夹详细 如 prefix=2021/10/ 即可获得2021/10文件夹下的所有子文件夹 2021/10/28,2021/10/29 .。。。
List<MinioItem> objects = minioService.getAllObjectsByPrefix("bucket1", "2021/10/29/111111.jpg", true);
System.out.println(objects);
}
2. O minioTemplate simplifica a chamada de alguns métodos comuns do SDK oficial.
@Autowired
private MinioTemplate minioTemplate;
@Test
void testTemplate() throws Exception {
//检查桶是否存储
boolean bucket1 = minioTemplate.bucketExists("bucket1");
System.out.println(bucket1);
}
3. MinioClient é o MinioClient oficial Documentação oficial: Documentação oficial da API
@Autowired
private MinioClient minioClient;
@Test
void testMinioClient() throws Exception {
boolean bucket1 = minioClient.bucketExists(BucketExistsArgs.builder().bucket("bucket1").build());
System.out.println(bucket1);
}