feign在用ResponseEntity<InputStreamResource>下载文件处理后需要关闭outputstream吗 在哪里关的.

still_smil 发布于 2019/10/31 12:01
阅读 4K+
收藏 0

@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吗?

加载中
0
没有感情的编码机器
没有感情的编码机器
该评论暂时无法显示,详情咨询 QQ 群:点此入群
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部