inputStream成多部分响应

时间:2018-11-26 14:53:55

标签: spring spring-mvc spring-boot

我有3个链接的组件(为简单起见,请说A,B,C)。

呼叫流程:客户端-> A-> B-> C

A:API在一次调用中公开了多部分(应用程序/ json中的消息)和二进制文件(文件下载)...

B:API公开单个端点以下载文件。返回InputStreamResource

C:Amazon S3组件在下载时返回S3ObjectInputStream。

这不是将文件内容加载到内存中的选项。因此,我们无法在代码中执行类似getBytes()的操作。流必须通过所有组件。

如果我仅返回二进制文件(通过将来自响应组件B的复制inputStream()复制到来自A的响应的outputStream,它会很好地工作),则A会出现问题。

但是A也必须取回一个json消息(这就是为什么要分多个部分)。.任何想法我怎么能在一个响应中返回流和json消息?

0 个答案:

没有答案