Spring mvc下载文件没有询问

时间:2017-03-15 14:12:12

标签: file spring-mvc download dialog window

我使用Spring MVC,我想下载pdf。我不想显示以下对话窗口

enter image description here

我不想表示“你想打开还是保存.....?”。 我想直接在屏幕上打开文件。

我写了以下方法:

@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;
    }

有没有办法下载文件而不问?

1 个答案:

答案 0 :(得分:0)

您可以通过内容处理来解决此问题。

如果要像网页一样打开文件,则需要将其指定为内联。

Content-Disposition: inline

如果要下载文件,则需要将其指定为附件。如果要指定下载文件的名称,可以使用filename,但这不是必需的。

Content-Disposition: attachment; filename="filename.jpg"

你可以在这里看到更多

https://developer.mozilla.org/es/docs/Web/HTTP/Headers/Content-Disposition