2017-02-17 94 views
-1

我试图从一次调用中打开一个下载文件,将其作为ResponseEntity字节返回给另一个函数。问题是,当它返回时,它不会在浏览器中下载。当我查询我直接打电话的功能时,下载框将打开。正在下载PDF返回为一个字节ResponseEntity

byte[] content = ...//gets the content 
HttpHeaders header = new HttpHeaders(); 
header.setContentType(MediaType.parseMediaType("application/pdf")); 

return new ResponseEntity<byte[]>(contents, header, HttpStatus.OK); 

为什么在JavaScript中调用这个函数时,浏览器中没有下载框?我错过了什么吗?

回答

-1

请包括以下标题加到指示浏览器下载文件

Response.AddHeader("content-disposition", "attachment;filename=<yourfilename>.pdf"); 

替补朋友的文件名在上面的代码默认文件名的响应。

+0

这不适合我。我试过: header.add(“content-disposition”,“attachment; filename = test.pdf”); 我也试过: header.setContentDispositionFormData(“file.pdf”,“file.pdf”); – Nickknack