diff --git a/app/core/src/main/java/stirling/software/SPDF/controller/web/SignatureController.java b/app/core/src/main/java/stirling/software/SPDF/controller/web/SignatureController.java index de03680e1..65d34c0ef 100644 --- a/app/core/src/main/java/stirling/software/SPDF/controller/web/SignatureController.java +++ b/app/core/src/main/java/stirling/software/SPDF/controller/web/SignatureController.java @@ -1,10 +1,12 @@ package stirling.software.SPDF.controller.web; import java.io.IOException; +import java.util.Optional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; +import org.springframework.http.MediaTypeFactory; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -41,9 +43,14 @@ public class SignatureController { return ResponseEntity.status(HttpStatus.FORBIDDEN).build(); } byte[] imageBytes = signatureService.getSignatureBytes(username, fileName); - return ResponseEntity.ok() - .contentType( // Adjust based on file type - MediaType.IMAGE_JPEG) - .body(imageBytes); + + Optional mediaType = MediaTypeFactory.getMediaType(fileName); + if (mediaType.isPresent() && mediaType.get().toString().startsWith("image/")) { + return ResponseEntity.ok() + .contentType( // Adjust based on file type + mediaType.get()) + .body(imageBytes); + } + return ResponseEntity.status(HttpStatus.FORBIDDEN).build(); } } diff --git a/app/core/src/main/java/stirling/software/SPDF/service/SignatureService.java b/app/core/src/main/java/stirling/software/SPDF/service/SignatureService.java index fd27439ed..362e50834 100644 --- a/app/core/src/main/java/stirling/software/SPDF/service/SignatureService.java +++ b/app/core/src/main/java/stirling/software/SPDF/service/SignatureService.java @@ -96,7 +96,8 @@ public class SignatureService { return fileName.endsWith(".jpg") || fileName.endsWith(".jpeg") || fileName.endsWith(".png") - || fileName.endsWith(".gif"); + || fileName.endsWith(".gif") + || fileName.endsWith(".svg"); } private void validateFileName(String fileName) {