Data de liberação : 27/09/2022
Melhoria
APLICAÇÃO EXTERNA
Padronizamos uma pasta para armazenar os arquivos estáticos, como por exemplo PDF, XLSX, DOC etc. Essa demanda surgiu a partir da atualização do Spring Boot que não estava sendo possível fazer download quando utilizava a rota
{url_ambiente}/bpm/upload/cadastros/{pasta}/{arquivo}
). Isso facilitará o nosso processo de atualização e evitará problema de falta de arquivo. (e-PLT-2550 e e-PLT-2577)
De "/opt/lecom/custom/web-content/"
Para "/opt/lecom/custom/static-files/"
Correções
FORMULÁRIO
Ajustamos o download do assinador digital feito através do campo template, utilizado no formulário. (i-PLT-2566)
DOCUMENTOS
Ajustamos o carregando das informações do “Inventário ECM”, pois não estava mostrando nenhuma informação. Para isso atualizamos a versão do log4j nas dependências do componente “atos-components”. (i-PLT-2558)
Liberamos a URL de compartilhamento de arquivos, no filtro de autenticação, pois com o link gerado não era permitido fazer o download. (e-PLT-2229)
Pontos de Impacto
Customização (Controller)
Devido à atualização do Spring Boot, não é mais possível deixar a mesma pasta com conteúdo estático e dinâmico juntos. Sendo que, o conteúdo estático são os arquivos como, por exemplo, PDF, XLSX e DOC. Já os dinâmicos, são os controllers personalizados.
...
Bloco de código |
---|
package com.lecom.workflow.cadastros.template; <<import>> @WebServlet(“/upload/cadastros/templates/”*) public class TemplateController extends HttpServlet implements Servlet { private static final String STATIC_FILES_PATH = “/opt/lecom/storage/static-files/”; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String pasta = URLDecoder.decode(request.getRequestURI()) .substring(request.getRequestURI().indexOf(“upload/cadastros/templates/”)); File file = new File(STATIC_FILES_PATH.concat(pasta)); try (FileInputStream fis = new FileInputStream(file); ByteArrayOutputStream bos = new ByteArrayOutputStream(); BufferedInputStream bis = new BufferedInputStream(fis);) { byte[] buf = new byte[4 * 1024]; int bytesRead; while ((bytesRead = bis.read(buf)) != -1) { bos.write(buf, 0, bytesRead); } response.setContentType(“application/download”); try (OutputStream out = response.getOutputStream()) { out.write(bos.toByteArray()); } } } } |
Pacote
Dica |
---|
Disponível na pasta |