Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring文件下载与非反应式服务器响应_Spring_Spring Mvc_Download_Server Response_Completion Stage - Fatal编程技术网

Spring文件下载与非反应式服务器响应

Spring文件下载与非反应式服务器响应,spring,spring-mvc,download,server-response,completion-stage,Spring,Spring Mvc,Download,Server Response,Completion Stage,我正在构建一个SpringBoot应用程序,根据url请求进行文件下载。出于各种原因,我不得不使用旧的web mvc API(而不是反应式API)。我还使用RouterFunction(org.springframework.web.servlet.function.RouterFunction)和ServerResponse(org.springframework.web.servlet.function.ServerResponse)来路由传入的下载文件请求。我有一个inputstream,

我正在构建一个SpringBoot应用程序,根据url请求进行文件下载。出于各种原因,我不得不使用旧的web mvc API(而不是反应式API)。我还使用RouterFunction(org.springframework.web.servlet.function.RouterFunction)和ServerResponse(org.springframework.web.servlet.function.ServerResponse)来路由传入的下载文件请求。我有一个inputstream,需要将其复制到服务器响应的输出(即,inputstream中的数据应该成为响应的主体)。然而,我不确定我需要写什么代码来实现这一点。我知道如何将输入流复制到输出流,但在ServerResponse中从何处获得输出流?我看到了一些关于CompletionStage的东西,但我不熟悉它们,也不知道如何将输入流引入其中(或者即使CompletionStage是我所需要的)。我正在用kotlin编写这篇文章,但我相信我可以将java答案翻译成等价的kotlin代码


任何建议都将不胜感激。

我刚刚找到了一个名为StreamingResponseBody的类。构建其中一个复制我的inputstream相对容易。我想知道这是否可行。大声思考。