如何解决Java Servlet 在 getOutputStream().close() 之后总是返回一个 succes:false
@RequestMapping(method = RequestMethod.POST,value = "/generacionGuias")
public @ResponseBody GeneracionGuiaEstafetaSolicitud proceSaralta(@modelattribute GeneracionGuiaEstafetaSolicitud instance,HttpServletRequest request,HttpServletResponse response) throws Exception {
GeneracionGuiaEstafetaSolicitud respuesta = new GeneracionGuiaEstafetaSolicitud();
respuesta.setSuccess(false);
String fileZip = "generacionArchivosGuias";
ByteArrayOutputStream zipFinalFile = new ByteArrayOutputStream();
try {
respuesta = ((GeneracionGuiasEstafetaService) service).generacionDeDocumentosGuias(instance);
} catch (Exception e) {
throw new MicroServicioException("0002",e.toString());
}
try{
zipFinalFile =((GeneracionGuiasEstafetaService) service).generadorZIP(respuesta);
}catch(Exception e){
logger.error("Problema en la creación del archivo ZIP: " + e.getMessage());
throw new SibamexStoredProcedureException("000005","Problema con la generación del Archivo ZIP");
}
byte[] file = zipFinalFile.toByteArray();
respuesta.setArchivo(file);
try{
response.resetBuffer();
response.setContentType("application/zip");
response.setHeader("Content-disposition","attachment; filename=" + fileZip + ".zip");
response.getoutputStream().write(file);
response.getoutputStream().flush();
respuesta.setSuccess(true);
}catch (Exception e) {
logger.error("Error en la generación del archivo zip: " + e.getMessage());
respuesta.setSuccess(false);
}finally {
response.getoutputStream().close();
respuesta.setSuccess(true);
}
logger.info("Regresa respuesta con archivo a descargar");
return respuesta;
}
我在服务中创建了一个 ZIP 文件并将其转换为字节 [],我尝试使用 response.getoutputStream().write(file); 行将其写入响应中。尝试从前端下载它,但是当我到达 response.getoutputStream().close();即使响应返回 200 代码,它也总是返回“Succes:false”,知道为什么会这样吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。