File SpringMVC下载文件,无需询问
我与SpringMVC合作,我想下载一份pdf。我不想显示以下对话框窗口 我不想显示“要打开还是保存…”。 我想在屏幕上直接打开文件 我写了以下方法:File SpringMVC下载文件,无需询问,file,spring-mvc,download,dialog,window,File,Spring Mvc,Download,Dialog,Window,我与SpringMVC合作,我想下载一份pdf。我不想显示以下对话框窗口 我不想显示“要打开还是保存…”。 我想在屏幕上直接打开文件 我写了以下方法: @RequestMapping(value="/visualizarmanual", method=RequestMethod.POST) public HttpEntity<byte[]> descargarManual(@RequestParam("directorioDocumentacion") String dir
@RequestMapping(value="/visualizarmanual", method=RequestMethod.POST)
public HttpEntity<byte[]> descargarManual(@RequestParam("directorioDocumentacion") String directorioDocumentacion,
@RequestParam("nombreDocumento") String nombreDocumentoP,HttpServletRequest request,
HttpServletResponse resp) throws IOException, Exception {
// convert JSON to Employee
logger.info("DocumentacionController descargarManual principio ");
String nombreDocumento = "springEcalcpAdmin.properties";
logger.info("DocumentacionController descargarManual nombreDocumento "+nombreDocumento);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.parseMediaType("application/plain"));
headers.setContentDispositionFormData(nombreDocumento, nombreDocumento);
byte[] documentBody = crearFichero(request,nombreDocumento);
headers.setCacheControl("must-revalidate, post-check=0, pre-check=0");
ResponseEntity<byte[]> response = new ResponseEntity<byte[]>(documentBody, headers, HttpStatus.OK);
return response;
}
@RequestMapping(value=“/visualizearmanual”,method=RequestMethod.POST)
公共HttpEntity descargarManual(@RequestParam(“directorioDocumentacion”)字符串directorioDocumentacion,
@RequestParam(“nombreDocumento”)字符串nombreDocumentoP,HttpServletRequest,
HttpServletResponse resp)引发IOException,异常{
//将JSON转换为Employee
logger.info(“文档控制员说明手册原则”);
字符串nombreDocumento=“springEcalcpAdmin.properties”;
logger.info(“文档控制员描述年度nombreDocumento”+nombreDocumento);
HttpHeaders=新的HttpHeaders();
headers.setContentType(MediaType.parseMediaType(“应用程序/普通”);
headers.setContentDispositionFormData(nombreDocumento,nombreDocumento);
字节[]documentBody=crearFichero(请求,名称为documento);
headers.setCacheControl(“必须重新验证,后检查=0,前检查=0”);
ResponseEntity response=新的ResponseEntity(documentBody、headers、HttpStatus.OK);
返回响应;
}
有没有办法不经询问就下载该文件?您可以通过内容处理来解决这个问题 如果要像打开网页一样打开文件,需要将其指定为内联
Content-Disposition: inline
如果要下载该文件,需要将其指定为附件。如果要指定下载文件的名称,可以使用filename,但这不是必需的
Content-Disposition: attachment; filename="filename.jpg"
你可以在这里看到更多