From 949cd26758d2458a684c330891ac135450c5e1c0 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 28 Aug 2024 17:54:28 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E6=95=B0=E6=8D=AE=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E3=80=81=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=B1=BB=E5=9E=8B=E5=92=8C=E5=A4=A7=E5=B0=8F?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/StaticResourceServer.java | 18 ++++-------------- .../visualization/common/DeUpload.vue | 1 + .../BackgroundOverallCommon.vue | 1 + .../component-background/CanvasBackground.vue | 1 + .../src/custom-component/picture/Attr.vue | 1 + .../dashboard/MobileBackgroundSelector.vue | 1 + 6 files changed, 9 insertions(+), 14 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/visualization/server/StaticResourceServer.java b/core/core-backend/src/main/java/io/dataease/visualization/server/StaticResourceServer.java index 33b94ccf6a..49e5c34f96 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/server/StaticResourceServer.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/server/StaticResourceServer.java @@ -64,22 +64,12 @@ public class StaticResourceServer implements StaticResourceApi { } private boolean isImage(MultipartFile file) { - BufferedImage image = null; - try (InputStream input = file.getInputStream()) { - image = ImageIO.read(input); - } catch (IOException e) { - LogUtil.error(e.getMessage(), e); + if (file == null || file.isEmpty()) { return false; } - // 判断是否为SVG - if(isValidSVG(file)){ - return true; - } - // 判断其他图片 - if (image == null || image.getWidth() <= 0 || image.getHeight() <= 0) { - return false; - } - return true; + String mimeType = file.getContentType(); + // 判断是否为图片或SVG + return (mimeType != null && mimeType.startsWith("image/")) || isValidSVG(file); } public void saveFilesToServe(String staticResource) { diff --git a/core/core-frontend/src/components/visualization/common/DeUpload.vue b/core/core-frontend/src/components/visualization/common/DeUpload.vue index 25a40d32d4..a5f079aa87 100644 --- a/core/core-frontend/src/components/visualization/common/DeUpload.vue +++ b/core/core-frontend/src/components/visualization/common/DeUpload.vue @@ -97,6 +97,7 @@ const reUpload = e => { const file = e.target.files[0] if (file.size > maxImageSize) { sizeMessage() + return } uploadFileResult(file, fileUrl => { snapshotStore.recordSnapshotCache() diff --git a/core/core-frontend/src/components/visualization/component-background/BackgroundOverallCommon.vue b/core/core-frontend/src/components/visualization/component-background/BackgroundOverallCommon.vue index 9ef4f697a8..a45295e95f 100644 --- a/core/core-frontend/src/components/visualization/component-background/BackgroundOverallCommon.vue +++ b/core/core-frontend/src/components/visualization/component-background/BackgroundOverallCommon.vue @@ -270,6 +270,7 @@ const reUpload = e => { const file = e.target.files[0] if (file.size > maxImageSize) { sizeMessage() + return } uploadFileResult(file, fileUrl => { state.commonBackground['outerImage'] = fileUrl diff --git a/core/core-frontend/src/components/visualization/component-background/CanvasBackground.vue b/core/core-frontend/src/components/visualization/component-background/CanvasBackground.vue index 76c95d8b04..bdbba43e7a 100644 --- a/core/core-frontend/src/components/visualization/component-background/CanvasBackground.vue +++ b/core/core-frontend/src/components/visualization/component-background/CanvasBackground.vue @@ -175,6 +175,7 @@ const reUpload = e => { const file = e.target.files[0] if (file.size > maxImageSize) { sizeMessage() + return } uploadFileResult(file, fileUrl => { canvasStyleData.value.background = fileUrl diff --git a/core/core-frontend/src/custom-component/picture/Attr.vue b/core/core-frontend/src/custom-component/picture/Attr.vue index ab831e8b24..fa6cb92f31 100644 --- a/core/core-frontend/src/custom-component/picture/Attr.vue +++ b/core/core-frontend/src/custom-component/picture/Attr.vue @@ -62,6 +62,7 @@ const reUpload = e => { const file = e.target.files[0] if (file.size > maxImageSize) { sizeMessage() + return } uploadFileResult(file, fileUrl => { snapshotStore.recordSnapshotCache() diff --git a/core/core-frontend/src/views/dashboard/MobileBackgroundSelector.vue b/core/core-frontend/src/views/dashboard/MobileBackgroundSelector.vue index 8cc8cfb488..cbc344457d 100644 --- a/core/core-frontend/src/views/dashboard/MobileBackgroundSelector.vue +++ b/core/core-frontend/src/views/dashboard/MobileBackgroundSelector.vue @@ -166,6 +166,7 @@ const reUpload = e => { const file = e.target.files[0] if (file.size > maxImageSize) { sizeMessage() + return } uploadFileResult(file, fileUrl => { canvasStyleData.value.mobileSetting.background = fileUrl