diff --git a/docs-core/src/main/java/com/sismics/util/mime/MimeTypeUtil.java b/docs-core/src/main/java/com/sismics/util/mime/MimeTypeUtil.java index 427ae387..0a9ea3d7 100644 --- a/docs-core/src/main/java/com/sismics/util/mime/MimeTypeUtil.java +++ b/docs-core/src/main/java/com/sismics/util/mime/MimeTypeUtil.java @@ -27,7 +27,8 @@ public class MimeTypeUtil { * @throws IOException e */ public static String guessMimeType(Path file, String name) throws IOException { - String mimeType = URLConnection.getFileNameMap().getContentTypeFor(name); + String mimeType = name == null ? + null : URLConnection.getFileNameMap().getContentTypeFor(name); if (mimeType == null) { try (InputStream is = Files.newInputStream(file)) { final byte[] headerBytes = new byte[64]; diff --git a/docs-core/src/test/java/com/sismics/util/TestMimeTypeUtil.java b/docs-core/src/test/java/com/sismics/util/TestMimeTypeUtil.java index b6e64299..1fa18fb1 100644 --- a/docs-core/src/test/java/com/sismics/util/TestMimeTypeUtil.java +++ b/docs-core/src/test/java/com/sismics/util/TestMimeTypeUtil.java @@ -27,5 +27,8 @@ public class TestMimeTypeUtil { // Detect PPTX files path = Paths.get(ClassLoader.getSystemResource("file/apache.pptx").toURI()); Assert.assertEquals(MimeType.OFFICE_PRESENTATION, MimeTypeUtil.guessMimeType(path, "apache.pptx")); + + // Detect TXT files + Assert.assertEquals(MimeType.TEXT_PLAIN, MimeTypeUtil.guessMimeType(path, "file.txt")); } }