Quando eu recupero o arquivo do banco de dados, ele está me retornando no formato application/octet-stream, só que esse arquivo é um .doc.
Eu gostaria de salvar esse arquivo no meu computador mas ele está perdendo o type dele.
e quando está salvando ele está colocando um nome estranho também
Preciso de ajuda urgente fazem três dias que estou empacado.
Existe um outro problema estou utilizando PORTLET
O que está sendo retornando aqui: anexo.getType() e aqui: anexo.getName() ?
brunobuild
Eu criei um servlet a parte do Portlet e funcionou numa boa.
Fiz o mapeamento no web.xml do servlet e criei a classe.
O unico problema que eu tive que instaciar o spring na mão.
publicclassDownloadFileActionextendsHttpServlet{privatestaticfinalLoggerlogger=Logger.getLogger(DownloadFileAction.class.getName());privateServletContextcontext;privateAnexoServiceanexoService;@Overridepublicvoidinit(ServletConfigconfig)throwsServletException{this.context=config.getServletContext();ApplicationContextspringContext=WebApplicationContextUtils.getWebApplicationContext(this.context);this.anexoService=(AnexoService)springContext.getBean("anexoService");super.init(config);}@OverrideprotectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{logger.fine("Processando o plain file renderer servlet.");Anexoanexo;try{anexo=this.anexoService.getAnexo(request.getParameter("id"));response.setHeader("Content-Disposition","attachment;filename="+anexo.getName());response.setContentType(anexo.getType());response.setContentLength(anexo.getArquivo().length);response.getOutputStream().write(anexo.getArquivo());response.getOutputStream().flush();response.getOutputStream().close();}catch(Exceptione){logger.warning("Erro ao recuperar o arquivo.");response.sendError(HttpServletResponse.SC_NOT_FOUND);}}privatestaticfinallongserialVersionUID=1L;}