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