feign在用ResponseEntity<InputStreamResource>下载文件处理后需要关闭outputstream吗 在哪里关的.
@wangJunBlog 你好,想跟你请教个问题:
@GetMapping(value = "/v1/orders/{orderId}/flow-chart", produces = MediaType.IMAGE_PNG_VALUE) @ResponseStatus(HttpStatus.NO_CONTENT) public void getGraphics(@PathVariable Long orderId, HttpServletResponse response) { Response.Body feignResponse = GraphicsClient.getGraphics(orderId); try (InputStream inputStream = feignResponse.asInputStream(); ServletOutputStream outputStream = response.getOutputStream()) { response.setContentType("image/png"); outputStream.write(IOUtils.toByteArray(inputStream)); } catch (Exception e) { throw new ClientException("get credit-order graphics fail :{} ", e); } }
这里feign 处理完成 finally是不是 不用关闭outputStream 和 inputstream
我用的是
return ResponseEntity<InputStreamResource> resultEntity = ResponseEntity.ok().contentType(MediaType.APPLICATION_OCTET_STREAM).headers(httpHeaders)
.body(inputstreamResource);
finally块 我关闭了inputstream报错了,文件下载的时候不是需要 关闭outputstream 和 inputstream吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论