当前位置: 首页 > 知识库问答 >
问题:

Spring webflux如何在处理大文件前向客户端返回200响应

王渊
2023-03-14

所以客户不必等到我的整个文件是处理。

为了试用,我制作了如下示例代码

Rest控制器

@GetMapping(value = "/{jobId}/process")
  @ApiOperation("Start import job")
  public Mono<Integer> process(@PathVariable("jobId") long jobId) {
    return service.process(jobId);
  }
public Mono<Integer> process(Integer jobId) {
    return repository
        .findById(jobId)
        .map(
            job -> {
              File file = new File("read.csv");
              return processFile(file);
            });
  }

阿尔佩什

共有1个答案

鲁涵映
2023-03-14

作为选项之一,您可以在不同的线程中运行处理。

例如:

>

  • 创建事件侦听器链接

  •  类似资料:
    • 我有一个API,它使用archiver模块创建一个zip文件,我想在其中将zip作为响应传递回客户端并下载它。 这就是我创建zip的API的样子: 这里还有另一个API供参考,它展示了我是如何习惯于将数据发送回客户端的: 如何将zip作为响应发送回并在客户端将其下载到磁盘?

    • 问题内容: 如何在客户端运行批处理文件?exe文件?只是要在客户端打开预安装的程序? [编辑] 关于ActiveX,我尝试了 但这行不通。有什么建议么? 问题答案: 来自Javascript?你不能 这是安全隐患。考虑一下-您是否希望每个网站都能在PC上运行程序?

    • 我必须从网页上阅读某个领域的内容。有人告诉我,我需要获取整个页面,然后从html内容中提取文本。我使用以下程序来获取所需的页面html内容。现在的问题是,这个网页需要几秒钟的时间来加载我想要读取的实际文本值,即使其他静态页面组件都是在前面加载的。我的程序在静态组件加载之后,但在我的值加载之前,返回html内容。因此,我得到的最终HTML具有页面加载过程pic,而不是实际值。有没有人可以指导我在这个

    • 我必须从网页上阅读某一领域的内容。我已经被告知,我需要获得整个页面,然后从html内容中提取文本。我正在使用下面的程序来获取所需的页面html内容。现在的问题是,这个网页加载我想要读取的实际文本值需要几秒钟的时间,即使前面加载了其余的静态页面组件。我的程序在静态组件加载之后但在我的值加载之前返回html内容。因此,我得到的最终HTML有页面加载过程pic,而不是实际值。有没有人可以指导我在这个程序

    • 我已经使用java nio创建了一个客户端-服务器应用程序,它工作正常,但我的问题是,当服务器有许多连接到服务器的客户端时,服务器会响应错误的客户端,而不是请求客户端。例如,如果客户端A请求第一个人的信息,服务器将第一个人的信息返回给客户端B而不是客户端A。我已经尝试同步对象,但仍然无法正常工作,可能是什么问题。这是我的服务器示例代码

    • 总共有1000条信息展示,我现在想到的是在前端使用轮询来解决,有没有更好的方案来解决网络慢数据大,我应该在后端怎么处理