in digital-document-service/src/main/java/com/epam/digital/data/platform/dgtldcmnt/controller/DocumentController.java [117:141]
public ResponseEntity<Resource> download(
@PathVariable("rootProcessInstanceId") String rootProcessInstanceId,
@PathVariable("taskId") String taskId,
@PathVariable("fieldName") String fieldName,
@PathVariable("id") String id,
Authentication authentication) {
var getDocumentDto = GetDocumentDto.builder()
.rootProcessInstanceId(rootProcessInstanceId)
.fieldName(fieldName)
.taskId(taskId)
.id(id)
.build();
var documentDto = documentFacade.validateAndGet(getDocumentDto, authentication);
var contentDisposition = ContentDisposition.builder(
digitalDocumentsProperties.getContent().getDispositionType())
.filename(documentDto.getName()).build();
var headers = new HttpHeaders();
headers.setContentDisposition(contentDisposition);
var resource = new InputStreamResource(documentDto.getContent());
return ResponseEntity.ok()
.contentType(MediaType.valueOf(documentDto.getContentType()))
.contentLength(documentDto.getSize())
.headers(headers)
.body(resource);
}