outputStream不需要手动关闭,servlet容器在本次请求的生命周期末尾会自动关闭流,如果在Controller中手动关闭,后续容器再使用到流的时候就报异常
Content-disposition:
决定浏览器是打开文件还是下载文件
Content-Type:
标头告诉客户端实际返回的内容的内容类型。
-
application/octet-stream:
二进制流,不知道下载文件类型,行为为下载,就算设置了Content-disposition
为inline,浏览器也还是会是下载的行为 - Controller中的[Get,Post]Mapping注解中有一个属性
produces
可以指定内容类型 -
application/pdf:
PDF文件 -
application/vnd.ms-excel:
EXCEL文件
org.springframework.http.MediaType
这个类中包含了绝大部分Content-Type