From 00803692b29e1a83767a4e4c5a7fba25dde67926 Mon Sep 17 00:00:00 2001 From: xupei <1779019091@qq.com> Date: Tue, 19 Sep 2023 13:25:55 +0800 Subject: [PATCH] =?UTF-8?q?minio=20=E8=BF=94=E5=9B=9E=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ai/da/common/utils/MinioUtil.java | 19 ++++++++++++++++++- .../java/com/ai/da/python/PythonService.java | 2 +- .../service/impl/DesignItemServiceImpl.java | 2 +- .../ai/da/service/impl/DesignServiceImpl.java | 4 ++-- .../da/service/impl/GenerateServiceImpl.java | 4 ++-- .../TDesignPythonOutfitDetailServiceImpl.java | 6 +++--- 6 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/ai/da/common/utils/MinioUtil.java b/src/main/java/com/ai/da/common/utils/MinioUtil.java index dbaf774c..ad33dd5b 100644 --- a/src/main/java/com/ai/da/common/utils/MinioUtil.java +++ b/src/main/java/com/ai/da/common/utils/MinioUtil.java @@ -240,7 +240,24 @@ public class MinioUtil { } } - + /** + * 将桶名、文件名从url中分离出来 + * @param url 带桶名、文件名的url + * @param expiry 图片过期时间 + * @return 可以直接访问的minio图片地址 + */ + public String splitThenGetPreviewUrl(String url,int expiry){ + String[] parts = url.split("/"); + String bucketName = parts[0]; + StringBuilder fileName = new StringBuilder(); + for (int i = 1; i < parts.length; i++){ + fileName.append(parts[i]); + if (i != parts.length -1){ + fileName.append("/"); + } + } + return getPresignedUrl(bucketName, String.valueOf(fileName),expiry); + } } diff --git a/src/main/java/com/ai/da/python/PythonService.java b/src/main/java/com/ai/da/python/PythonService.java index fc4a1291..987d78c2 100644 --- a/src/main/java/com/ai/da/python/PythonService.java +++ b/src/main/java/com/ai/da/python/PythonService.java @@ -1658,7 +1658,7 @@ public class PythonService { " \"code\": 200,\n" + " \"data\": {\n" + " \"list\": [\n" + - " \"12/print_1695088687_0.png\"\n" + + " \"aida-users/12/print_1695088687_0.png\"\n" + " ]\n" + " },\n" + " \"msg\": \"OK!\"\n" + diff --git a/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java b/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java index e15bb119..45357315 100644 --- a/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java @@ -413,7 +413,7 @@ public class DesignItemServiceImpl extends ServiceImpl impleme d.setPrintObject(new DesignPythonItemPrint()); })); return editDesignItemLayer(flag,designPythonOutfit, - minIoUtil.getPresignedUrl(bucketName,designItem.getDesignUrl(),480), + minIoUtil.splitThenGetPreviewUrl(designItem.getDesignUrl(),480), editResponseColor(designItemDetails,response)); } private String converTypeToLevel1(String type){ @@ -856,7 +856,7 @@ public class DesignServiceImpl extends ServiceImpl impleme }); // 2、将查询出的图层信息填充到designItemDetailVO中 - designItemDetailVO.setDesignItemUrl(minIoUtil.getPresignedUrl(bucketName,designPythonOutfit.getDesignUrl(),480)); + designItemDetailVO.setDesignItemUrl(minIoUtil.splitThenGetPreviewUrl(designPythonOutfit.getDesignUrl(),480)); // 2.1 填充clothes designItemDetailVO.getClothes().forEach(c -> { String type = c.getType().toLowerCase(); diff --git a/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java b/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java index 522e2c76..73022b0a 100644 --- a/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java @@ -110,7 +110,7 @@ public class GenerateServiceImpl extends ServiceImpl im GenerateCollectionItemVO generateCollectionItemVO = new GenerateCollectionItemVO(); generateCollectionItemVO.setGenerateItemId(generateDetail.getId()); - generateCollectionItemVO.setGenerateItemUrl(minioUtil.getPresignedUrl(bucketName4,item,480)); + generateCollectionItemVO.setGenerateItemUrl(minioUtil.splitThenGetPreviewUrl(item,480)); generatedCollectionItems.add(generateCollectionItemVO); }); @@ -171,7 +171,7 @@ public class GenerateServiceImpl extends ServiceImpl im library.setLevel2Type(StringUtil.isNullOrEmpty(generateLikeDTO.getLevel2Type()) ? null : generateLikeDTO.getLevel2Type()); library.setName(DateUtil.dateToStr(new Date(),DateUtil.YYYY_MM_DD)); library.setUrl(imageUrl); - library.setMd5(MD5Utils.encryptFile(imageUrl,Boolean.FALSE)); + library.setMd5(MD5Utils.encryptFile(minioUtil.splitThenGetPreviewUrl(imageUrl,5),Boolean.FALSE)); library.setCreateDate(DateUtil.getByTimeZone(generateLikeDTO.getTimeZone())); return library; } diff --git a/src/main/java/com/ai/da/service/impl/TDesignPythonOutfitDetailServiceImpl.java b/src/main/java/com/ai/da/service/impl/TDesignPythonOutfitDetailServiceImpl.java index 26e1de0f..ed6bef78 100644 --- a/src/main/java/com/ai/da/service/impl/TDesignPythonOutfitDetailServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/TDesignPythonOutfitDetailServiceImpl.java @@ -57,11 +57,11 @@ public class TDesignPythonOutfitDetailServiceImpl extends ServiceImpl) JSON.parse(detail.getPosition())); designPythonOutfitVO.setImageSize(StringUtil.isNullOrEmpty(detail.getImageSize()) ? null : (List) JSON.parse(detail.getImageSize())); if (detail.getImageCategory().equals("body")){ - designPythonOutfitVO.setImageUrl(StringUtil.isNullOrEmpty(detail.getImageUrl()) ? null : minIoUtil.getPresignedUrl(bucketName3,detail.getImageUrl(),480)); + designPythonOutfitVO.setImageUrl(StringUtil.isNullOrEmpty(detail.getImageUrl()) ? null : minIoUtil.splitThenGetPreviewUrl(detail.getImageUrl(),480)); }else { - designPythonOutfitVO.setImageUrl(StringUtil.isNullOrEmpty(detail.getImageUrl()) ? null : minIoUtil.getPresignedUrl(bucketName2,detail.getImageUrl(),480)); + designPythonOutfitVO.setImageUrl(StringUtil.isNullOrEmpty(detail.getImageUrl()) ? null : minIoUtil.splitThenGetPreviewUrl(detail.getImageUrl(),480)); } - designPythonOutfitVO.setMaskUrl(StringUtil.isNullOrEmpty(detail.getMaskUrl()) ? null : minIoUtil.getPresignedUrl(bucketName2,detail.getMaskUrl(),480)); + designPythonOutfitVO.setMaskUrl(StringUtil.isNullOrEmpty(detail.getMaskUrl()) ? null : minIoUtil.splitThenGetPreviewUrl(detail.getMaskUrl(),480)); return designPythonOutfitVO; }