Skip to content

Commit 52cbe8b

Browse files
ravishanigarapusnehar-nd
authored andcommitted
fix: cherry pic the #104 pr
1 parent 3737796 commit 52cbe8b

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

src/main/java/com/iemr/admin/controller/employeemaster/EmployeeSignatureController.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -93,21 +93,25 @@ public ResponseEntity<byte[]> fetchFile(@PathVariable("userID") Long userID) thr
9393

9494
EmployeeSignature userSignID = employeeSignatureServiceImpl.fetchSignature(userID);
9595
HttpHeaders responseHeaders = new HttpHeaders();
96-
ContentDisposition cd = ContentDisposition.attachment()
97-
.filename(userSignID.getFileName(), StandardCharsets.UTF_8).build();
98-
responseHeaders.setContentDisposition(cd);
96+
String fileName = URLEncoder.encode(userSignID.getFileName(), StandardCharsets.UTF_8);
97+
98+
responseHeaders.set(HttpHeaders.CONTENT_DISPOSITION,
99+
"attachment; filename=\"" + fileName + "\"; filename*=UTF-8''" + fileName);
99100

100101
MediaType mediaType;
101102
try {
102-
mediaType = MediaType.parseMediaType(userSignID.getFileType());
103+
mediaType = MediaType.parseMediaType(userSignID.getFileType());
103104
} catch (InvalidMediaTypeException | NullPointerException e) {
104-
mediaType = MediaType.APPLICATION_OCTET_STREAM;
105+
mediaType = MediaType.APPLICATION_OCTET_STREAM;
105106
}
106107

107108
byte[] fileBytes = userSignID.getSignature(); // MUST be byte[]
108109

109-
return ResponseEntity.ok().headers(responseHeaders).contentType(mediaType).contentLength(fileBytes.length)
110-
.body(fileBytes);
110+
return ResponseEntity.ok()
111+
.headers(responseHeaders)
112+
.contentType(mediaType)
113+
.contentLength(fileBytes.length)
114+
.body(fileBytes);
111115

112116
} catch (Exception e) {
113117
logger.error("Unexpected error:", e);

0 commit comments

Comments
 (0)