wip(utils): mime type fix
All checks were successful
Deploy Production Server / if_merged (pull_request) Successful in 6m24s
All checks were successful
Deploy Production Server / if_merged (pull_request) Successful in 6m24s
This commit is contained in:
parent
eb68f84f7c
commit
071b35f2d4
6
pom.xml
6
pom.xml
@ -139,6 +139,12 @@
|
|||||||
<groupId>io.quarkus</groupId>
|
<groupId>io.quarkus</groupId>
|
||||||
<artifactId>quarkus-mailer</artifactId>
|
<artifactId>quarkus-mailer</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.sf.jmimemagic</groupId>
|
||||||
|
<artifactId>jmimemagic</artifactId>
|
||||||
|
<version>0.1.5</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
|||||||
@ -5,6 +5,10 @@ import jakarta.ws.rs.core.HttpHeaders;
|
|||||||
import jakarta.ws.rs.core.MediaType;
|
import jakarta.ws.rs.core.MediaType;
|
||||||
import jakarta.ws.rs.core.Response;
|
import jakarta.ws.rs.core.Response;
|
||||||
import jodd.net.MimeTypes;
|
import jodd.net.MimeTypes;
|
||||||
|
import net.sf.jmimemagic.Magic;
|
||||||
|
import net.sf.jmimemagic.MagicException;
|
||||||
|
import net.sf.jmimemagic.MagicMatchNotFoundException;
|
||||||
|
import net.sf.jmimemagic.MagicParseException;
|
||||||
import org.jboss.logging.Logger;
|
import org.jboss.logging.Logger;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
@ -76,7 +80,12 @@ public class Utils {
|
|||||||
return "OK";
|
return "OK";
|
||||||
|
|
||||||
try (InputStream is = new BufferedInputStream(new ByteArrayInputStream(input))) {
|
try (InputStream is = new BufferedInputStream(new ByteArrayInputStream(input))) {
|
||||||
String mimeType = URLConnection.guessContentTypeFromStream(is);
|
String mimeType;
|
||||||
|
try {
|
||||||
|
mimeType = Magic.getMagicMatch(input, false).getMimeType();
|
||||||
|
} catch (MagicParseException | MagicMatchNotFoundException | MagicException e) {
|
||||||
|
mimeType = URLConnection.guessContentTypeFromStream(is);
|
||||||
|
}
|
||||||
String[] detectedExtensions = MimeTypes.findExtensionsByMimeTypes(mimeType, false);
|
String[] detectedExtensions = MimeTypes.findExtensionsByMimeTypes(mimeType, false);
|
||||||
if (detectedExtensions.length == 0)
|
if (detectedExtensions.length == 0)
|
||||||
throw new IOException("Fail to detect file extension for MIME type " + mimeType);
|
throw new IOException("Fail to detect file extension for MIME type " + mimeType);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user