response.setHeader 失效 文件下载不能自定义名称
失效原因
在获取流之后设置的头信息
正确的方法
这个顺序不能错,不然要么得到的不是zip文件,要么文件名称是reponse
- 先设置content-type
- 再设置content-disposition
- 最后获取流
response.setHeader(HttpHeaderNames.CONTENT_TYPE.toString(), "application/zip");
response.setHeader(HttpHeaderNames.CONTENT_DISPOSITION.toString(), "attachment;filename=certificate.zip");
zipOut = new ZipOutputStream(response.getOutputStream());
代码调整示例