【发布时间】:2019-10-06 04:32:36
【问题描述】:
似乎 Spring RestTemplate 无法将响应直接流式传输到文件而不将其全部缓冲在内存中。使用较新的 Spring 5 WebClient 实现此目的的正确方法是什么?
WebClient client = WebClient.create("https://example.com");
client.get().uri(".../{name}", name).accept(MediaType.APPLICATION_OCTET_STREAM)
....?
我看到人们使用RestTemplate 找到了解决此问题的一些解决方法/技巧,但我更感兴趣的是使用WebClient 以正确的方式解决问题。
使用RestTemplate 下载二进制数据的例子很多,但几乎都将byte[] 加载到内存中。
【问题讨论】:
-
谢谢,但这并没有说明如何使用 WebClient。
-
我不认为它回答了这个问题。如果您认为可以,请创建一个答案。
-
@K.Nicholas - 你真的认为这是那个问题的重复吗?一方面,该问题没有提到直接流式传输到文件(没有将整个响应保存在内存中),这是我问题的重点;而且这个问题是使用 Kotlin,而不是 Java。
-
> 是的,你是对的,应该将其标记为离题。 @K.Nicholas 我不知道你为什么一直试图找到一种方法来破坏我的问题,但请随时查看stackoverflow.com/help/on-topic 和行为准则。
标签: java spring spring-webflux project-reactor spring-webclient