From da12f4e973735e34fafd6b4a8958eacb05a4ff7b Mon Sep 17 00:00:00 2001 From: Marten Date: Tue, 1 Aug 2023 11:57:27 +0200 Subject: [PATCH] fix: solved detection of old doc/xls in multiple mimetypes... --- .../commons/dto/asset/AssetType.java | 20 ++++++--- .../AssetBaseControllerIntegrationTest.java | 38 ++++++++++++++++++ .../src/test/resources/assets/sample.doc | Bin 0 -> 22528 bytes .../src/test/resources/assets/sample.xls | Bin 0 -> 25600 bytes pom.xml | 6 +-- 5 files changed, 56 insertions(+), 8 deletions(-) create mode 100644 commons-asset-server/src/test/resources/assets/sample.doc create mode 100644 commons-asset-server/src/test/resources/assets/sample.xls diff --git a/commons-asset-api/src/main/java/io/rocketbase/commons/dto/asset/AssetType.java b/commons-asset-api/src/main/java/io/rocketbase/commons/dto/asset/AssetType.java index 46a7406..2b57bf3 100644 --- a/commons-asset-api/src/main/java/io/rocketbase/commons/dto/asset/AssetType.java +++ b/commons-asset-api/src/main/java/io/rocketbase/commons/dto/asset/AssetType.java @@ -35,9 +35,9 @@ public enum AssetType { GZIP("gzip", "application/gzip"), _7z("7z", "application/x-7z-compressed"), // microsoft office - XLS("xls", "application/msexcel"), + XLS("xls", List.of("application/msexcel", "application/vnd.ms-excel")), XLSX("xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"), - DOC("doc", "application/msword"), + DOC("doc", List.of("application/msword", "application/vnd.ms-word")), DOCX("docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document"), PPT("ppt", "application/vnd.ms-powerpoint"), PPTX("pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation"), @@ -78,7 +78,7 @@ public String getValue() { } @Getter - private final String contentType; + private final List contentTypes; @Getter private final String fileExtension; @@ -87,12 +87,22 @@ public String getValue() { this(value, contentType, null); } + AssetType(String value, List contentTypes) { + this.value = value; + this.contentTypes = contentTypes; + this.fileExtension = null; + } + AssetType(String value, String contentType, String fileExtension) { this.value = value; - this.contentType = contentType; + this.contentTypes = List.of(contentType); this.fileExtension = fileExtension; } + public String getContentType() { + return contentTypes.get(0); + } + public static Set getSupportedContentTypes() { Set result = new HashSet<>(); for (AssetType type : values()) { @@ -108,7 +118,7 @@ public static List getAllType() { public static AssetType findByContentType(String contentType) { if (contentType != null) { for (AssetType type : values()) { - if (contentType.equalsIgnoreCase(type.getContentType())) { + if (type.getContentTypes().contains(contentType.toLowerCase())) { return type; } } diff --git a/commons-asset-server/src/test/java/io/rocketbase/commons/controller/AssetBaseControllerIntegrationTest.java b/commons-asset-server/src/test/java/io/rocketbase/commons/controller/AssetBaseControllerIntegrationTest.java index 23b983e..d6e6078 100644 --- a/commons-asset-server/src/test/java/io/rocketbase/commons/controller/AssetBaseControllerIntegrationTest.java +++ b/commons-asset-server/src/test/java/io/rocketbase/commons/controller/AssetBaseControllerIntegrationTest.java @@ -73,6 +73,44 @@ public void testUploadAvif() { assertThat(result.getDownload(), startsWith(baseUrl)); } + @SneakyThrows + @Test + public void testUploadXls() { + // given + AssetResource assetResource = new AssetResource(baseUrl); + + // when + File uploadFile = resourceLoader.getResource("classpath:assets/sample.xls").getFile(); + AssetRead result = assetResource.uploadFile(new FileInputStream(uploadFile), uploadFile.getName()); + + // then + assertThat(result, notNullValue()); + assertThat(result.getType(), equalTo(AssetType.XLS)); + assertThat(result.getMeta().getFileSize(), equalTo(25600L)); + assertThat(result.getMeta().getResolution(), nullValue()); + assertThat(result.getMeta().getOriginalFilename(), equalTo(uploadFile.getName())); + assertThat(result.getDownload(), startsWith(baseUrl)); + } + + @SneakyThrows + @Test + public void testUploadDoc() { + // given + AssetResource assetResource = new AssetResource(baseUrl); + + // when + File uploadFile = resourceLoader.getResource("classpath:assets/sample.doc").getFile(); + AssetRead result = assetResource.uploadFile(new FileInputStream(uploadFile), uploadFile.getName()); + + // then + assertThat(result, notNullValue()); + assertThat(result.getType(), equalTo(AssetType.DOC)); + assertThat(result.getMeta().getFileSize(), equalTo(22528L)); + assertThat(result.getMeta().getResolution(), nullValue()); + assertThat(result.getMeta().getOriginalFilename(), equalTo(uploadFile.getName())); + assertThat(result.getDownload(), startsWith(baseUrl)); + } + @SneakyThrows @Test public void testUploadGlb() { diff --git a/commons-asset-server/src/test/resources/assets/sample.doc b/commons-asset-server/src/test/resources/assets/sample.doc new file mode 100644 index 0000000000000000000000000000000000000000..2f5d52fe427379ffb5e06e4fce39df28f4477a8b GIT binary patch literal 22528 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 literal 0 HcmV?d00001 diff --git a/commons-asset-server/src/test/resources/assets/sample.xls b/commons-asset-server/src/test/resources/assets/sample.xls new file mode 100644 index 0000000000000000000000000000000000000000..8ad76d95707708c4c49334447172bbf34785e4b4 GIT binary patch literal 25600 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 literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml index 86e883f..238a04d 100755 --- a/pom.xml +++ b/pom.xml @@ -108,13 +108,13 @@ SOFTWARE. 11 false - 2.7.9 + 2.7.13 2.5.4 - 31.1-jre + 32.1.1-jre 1.4 2.11.0 - 2.7.0 + 2.8.0 0.4.19 0.8.7 0.6.0