nuovo servizio download immagini attività

This commit is contained in:
2025-02-11 18:00:31 +01:00
parent d6ca1a19e3
commit e9e9138a40

View File

@@ -34,6 +34,7 @@ import it.integry.ems.rules.businessLogic.dto.LoadColliDTO;
import it.integry.ems.service.EmsServices;
import it.integry.ems.service.EntityProcessor;
import it.integry.ems.service.ReportProcessor;
import it.integry.ems.service.dto.AttachmentDTO;
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
import it.integry.ems.utility.UtilityEntity;
import it.integry.ems_model.base.EntityBase;
@@ -53,6 +54,8 @@ import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.web.bind.annotation.*;
@@ -728,13 +731,13 @@ public class DocumentController {
}
@RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_STB_ACTIVITY_FILE_ATTACHMENT + "/{id}/{fileName}", method = RequestMethod.GET)
public byte[] downloadStbActivityFileAttachmentPath(HttpServletRequest request, HttpServletResponse response,
@RequestParam(value = CommonConstants.PROFILE_DB, required = false) String config,
@PathVariable String id,
@PathVariable String fileName,
@RequestParam(defaultValue = "false") boolean requestThumbnail) {
@ResponseBody
public ResponseEntity<byte[]> downloadStbFileAttachment(
@RequestParam(value = CommonConstants.PROFILE_DB, required = false) String config,
@PathVariable String id,
@PathVariable String fileName,
@RequestParam(defaultValue = "false") boolean requestThumbnail) throws Exception {
try {
StbActivityFile stbActivityFile = new StbActivityFile()
.setId(id)
.setFileName(fileName);
@@ -745,22 +748,52 @@ public class DocumentController {
if (stbActivityFile != null) {
byte[] byteArr = requestThumbnail && stbActivityFile.getThumbnail() != null ? stbActivityFile.getThumbnail() : stbActivityFile.getContent();
response.setContentType(mimetypesFileTypeMap.getContentType(stbActivityFile.getFileName()).toString());
response.setStatus(HttpServletResponse.SC_OK);
response.addHeader("Content-Disposition", "attachment; filename=\"" + stbActivityFile.getFileName() + "\"");
response.setContentLength(byteArr != null ? byteArr.length : 0);
return byteArr;
return ResponseEntity.ok()
.contentType(MediaType.parseMediaType(mimetypesFileTypeMap.getContentType(stbActivityFile.getFileName()).toString()))
.contentLength(byteArr != null ? byteArr.length : 0)
.header("Content-Disposition", "attachment; filename=\"" + stbActivityFile.getFileName() + "\"")
.body(byteArr);
}
response.sendError(404, "Allegato non trovato");
return null;
} catch (Exception e) {
logger.error(request.getRequestURI(), e);
return null;
}
return ResponseEntity.notFound().build();
}
// @RequestMapping(value = EmsRestConstants.PATH_DOWNLOAD_STB_ACTIVITY_FILE_ATTACHMENT + "/{id}/{fileName}", method = RequestMethod.GET)
// public byte[] downloadStbActivityFileAttachmentPath(HttpServletRequest request, HttpServletResponse response,
// @RequestParam(value = CommonConstants.PROFILE_DB, required = false) String config,
// @PathVariable String id,
// @PathVariable String fileName,
// @RequestParam(defaultValue = "false") boolean requestThumbnail) {
//
// try {
// StbActivityFile stbActivityFile = new StbActivityFile()
// .setId(id)
// .setFileName(fileName);
// stbActivityFile.setOperation(OperationType.SELECT_OBJECT);
//
// stbActivityFile = entityProcessor.processEntity(stbActivityFile, multiDBTransactionManager);
//
// if (stbActivityFile != null) {
// byte[] byteArr = requestThumbnail && stbActivityFile.getThumbnail() != null ? stbActivityFile.getThumbnail() : stbActivityFile.getContent();
//
// response.setContentType(mimetypesFileTypeMap.getContentType(stbActivityFile.getFileName()).toString());
// response.setStatus(HttpServletResponse.SC_OK);
// response.addHeader("Content-Disposition", "attachment; filename=\"" + stbActivityFile.getFileName() + "\"");
// response.setContentLength(byteArr != null ? byteArr.length : 0);
// return byteArr;
// }
//
// response.sendError(404, "Allegato non trovato");
// return null;
// } catch (Exception e) {
// logger.error(request.getRequestURI(), e);
// return null;
// }
// }
@RequestMapping(value = EmsRestConstants.PATH_REMOVE_FPX_INVIO_FILES, method = RequestMethod.POST)
public @ResponseBody
ServiceRestResponse removeFpxInvioFiles(HttpServletRequest request,