diff --git a/src/main/java/fr/titionfire/ffsaf/rest/CombEndpoints.java b/src/main/java/fr/titionfire/ffsaf/rest/CombEndpoints.java index c1f2689..a8e744f 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/CombEndpoints.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/CombEndpoints.java @@ -13,14 +13,16 @@ import jakarta.ws.rs.core.HttpHeaders; import jakarta.ws.rs.core.MediaType; import jakarta.ws.rs.core.Response; import org.apache.commons.io.FileUtils; +import org.apache.tika.Tika; import org.apache.tika.mime.MimeTypeException; import org.apache.tika.mime.MimeTypes; import org.eclipse.microprofile.config.inject.ConfigProperty; -import java.io.*; +import java.io.File; +import java.io.FilenameFilter; +import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; -import java.net.URLConnection; import java.nio.file.Files; import java.util.List; import java.util.concurrent.CompletableFuture; @@ -58,8 +60,8 @@ public class CombEndpoints { @Consumes(MediaType.MULTIPART_FORM_DATA) public Uni setAdminMembre(@PathParam("id") long id, FullMemberForm input) { Future future = CompletableFuture.supplyAsync(() -> { - try (InputStream is = new BufferedInputStream(new ByteArrayInputStream(input.getPhoto_data()))) { - String mimeType = URLConnection.guessContentTypeFromStream(is); + try{ + String mimeType = new Tika().detect(input.getPhoto_data()); String extension = MimeTypes.getDefaultMimeTypes().forName(mimeType).getExtension(); FileUtils.writeByteArrayToFile(new File(media, "ppMembre/" + input.getId() + extension), input.getPhoto_data()); return "OK"; @@ -110,7 +112,7 @@ public class CombEndpoints { if (filePair == null) return Response.temporaryRedirect(uri).build(); - String mimeType = URLConnection.guessContentTypeFromName(filePair.getKey().getName()); + String mimeType = new Tika().detect(filePair.getKey().getName()); Response.ResponseBuilder resp = Response.ok(filePair.getValue()); resp.type(MediaType.APPLICATION_OCTET_STREAM);