问题
I have a method which returns ResponseEntity(InputStreamResource). In this method, I'm getting InputStream from a file based on the filename input and then sending InputStreamResource as a response.
Code snippet
InputStream inputStream = ...;
ResponseEntity<InputStreamResource> response = new ResponseEntity<InputStreamResource>(new InputStreamResource(inputStream), headers, HttpStatus.OK);
return response;
Here do I need to close inputStream object? If I do so, I'm getting
IllegalStateException: Closed message. Do I need to explicitly close them or container will take care.
回答1:
The underlying class where this is handled is ResourceHttpMessageConverter and it closes the underlying input stream as is evident from here
来源:https://stackoverflow.com/questions/48660011/how-to-handle-io-streams-in-spring-mvc