Spring 响应中重复的标题
我正在返回文件下载的响应Spring 响应中重复的标题,spring,spring-mvc,http-headers,Spring,Spring Mvc,Http Headers,我正在返回文件下载的响应 @RequestMapping("/download") public ResponseEntity<byte[]> download(){ byte[] fileContent = manager.getFile(); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.parseMediaType("application/pdf"))
@RequestMapping("/download")
public ResponseEntity<byte[]> download(){
byte[] fileContent = manager.getFile();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.parseMediaType("application/pdf"));
headers.setPragma("cache");
headers.setExpires(0);
headers.setCacheControl("private");
headers.setContentDispositionFormData("attachment", "sample.pdf");
headers.setContentLength(fileContent.length);
return new ResponseEntity<byte[]>(fileContent, headers, HttpStatus.OK);
}
如果我使用HttpServletResponse以旧的方式执行此操作
public void download(HttpServletResponse response){
byte[] fileContent = manager.getFile();
response.reset();
response.setContentType("application/pdf");
response.setHeader("Pragma", "cache");
response.setHeader("Expires", "0");
response.setHeader("Cache-control", "private");
response.setHeader("Content-Disposition", "attachment; filename=sample.pdf");
FileCopyUtils.copy(fileContent, response.getOutputStream());
}
标题是我想要的
Cache-Control:private
Content-Disposition:form-data; name="attachment"; filename="sample-pdf.pdf"
Content-Length:1469
Content-Type:application/pdf;charset=UTF-8
Date:Thu, 15 Aug 2013 08:10:25 GMT
Expires:Thu, 01 Jan 1970 00:00:00 GMT
Pragma:cache
Server:Apache-Coyote/1.1
在使用ResponseEntity
时,是否有任何方法清除http标头值?请勿使用
headers.setContentDispositionFormData("attachment", "sample.pdf");
还是其他的
仅使用添加方法,如:
headers.add("Content-Disposition", "inline;filename=\"sample_"+System.currentTimeMillis()+".pdf\"");
headers.add("Content-Disposition", "inline;filename=\"sample_"+System.currentTimeMillis()+".pdf\"");