spring-mvc - 如何在 Spring MVC 中处理 IO 流

标签 spring-mvc inputstream

我有一个返回 的方法ResponseEntity(InputStreamResource) .在这种方法中,我根据文件名输入从文件中获取 InputStream,然后将 InputStreamResource 作为响应发送。

代码片段

InputStream inputStream = ...;    
ResponseEntity<InputStreamResource> response = new ResponseEntity<InputStreamResource>(new InputStreamResource(inputStream), headers, HttpStatus.OK);
return response;

这里我需要关闭 inputStream 对象吗?如果我这样做,我会得到

IllegalStateException: Closed message. Do I need to explicitly close them or container will take care.

最佳答案

处理这个的底层类是 ResourceHttpMessageConverterhere 可以明显看出,它关闭了底层输入流

关于spring-mvc - 如何在 Spring MVC 中处理 IO 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48660011/

相关文章:

java - 如何将 Java 安全层(Apache Shiro|Spring Security)集成到 webapp 菜单系统

Spring MVC框架: MultipartResolver with PUT method

java - 如何在保持输入流打开以获得结果的同时关闭 Java 套接字输出流?

Android JSON CharSet UTF-8 问题

ajax - 是否可以在 Spring MVC 中使用 @ResponseBody 返回 JSONArray?

forms - 接口(interface)类型数据绑定(bind)的Spring List - 如何?

java - 处理MaxUploadSizeExceededException : Ajax File Uploading

c# - 为了使 Request.InputStream 保持事件状态,不处理 BinaryReader 对象?

Java复制没有双引号的整个文件

c++ - 从文件 : C to C++ 读取