diff --git a/lib/src/main/java/org/asamk/signal/manager/util/Utils.java b/lib/src/main/java/org/asamk/signal/manager/util/Utils.java index 3530d6ad..05313b8a 100644 --- a/lib/src/main/java/org/asamk/signal/manager/util/Utils.java +++ b/lib/src/main/java/org/asamk/signal/manager/util/Utils.java @@ -14,10 +14,19 @@ import java.io.IOException; import java.io.InputStream; import java.net.URLConnection; import java.nio.file.Files; +import java.util.Optional; public class Utils { + public static Optional getExtensionByStringHandling(String filename) { + return Optional.ofNullable(filename) + .filter(f -> f.contains(".")) + .map(f -> f.substring(filename.lastIndexOf(".") + 1)); + } public static String getFileMimeType(File file, String defaultMimeType) throws IOException { + if (getExtensionByStringHandling(file.toPath().toString()).get().equals("webp")) { + return "image/webp"; + } var mime = Files.probeContentType(file.toPath()); if (mime == null) { try (InputStream bufferedStream = new BufferedInputStream(new FileInputStream(file))) {