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

如何使用spring webflux上传和读取文本文件?

太叔超英
2023-03-14

我需要上传一个文件并读取内容,使用spring mvc很容易,但使用spring webflux,我不知道如何处理FilePart和DataBuffer流量

我期待着这样的回报:

    @PostMapping("/upload")
    fun readFile(@RequestPart("file", required = true) file: Mono<FilePart>): Mono<ResponseEntity<String>> {
        return Mono.just("my text content")
                .map {
                    ResponseEntity.ok()
                            .body(it)
                }
    }

共有1个答案

利思源
2023-03-14

我使用以下代码使其工作:

    @PostMapping("/upload")
fun readFile(@RequestPart("file", required = true) file: Mono<FilePart>): Mono<ResponseEntity<String>> {

    return file.flatMap {
        it.content().map { dataBuffer ->
            IOUtils.inputStreamAsString(dataBuffer.asInputStream(), "UTF-8")
        }.toMono()
    }.map {
        ResponseEntity.ok()
                .body(it)
    }
}
 类似资料:
  • 问题内容: 我希望用户上传一个.csv文件,然后让浏览器能够解析该文件中的数据。我正在使用ReactJS。这将如何运作?谢谢。 问题答案: 弄清楚了。的组合反应文件阅读器和HTML5的的FileReader(见本页)。 将react-file-reader位放在render内部: 然后在上面。

  • 我试图通过创建一个函数来编写一个简单的文本文件阅读器,该函数接受文件的路径并将每行文本转换为char数组,但它不起作用。 这里出了什么问题? 从以前的修订版更改了一点代码后,这似乎仍然不起作用,现在它给我一个异常101。 我在Firefox上测试过这个功能,它可以工作,但在Google Chrome上它就是不工作,它一直给我一个异常101。我如何让它不仅适用于Firefox,还适用于其他浏览器(尤

  • 问题内容: 我想读取一个包含空格分隔值的文本文件。值是整数。如何读取并将其放入数组列表? 这是文本文件内容的示例: 我想将它包含在arraylist中。如何用Java做到这一点? 问题答案: 你可以用来将文本文件的所有行都放入。 教程:基本文件读取,写入和创建文本文件 你可以用来基于正则表达式拆分部分。 教程:数字和字符串>字符串>操纵字符串中的字符 你可以使用将转换为。 教程:数字和字符串>字符

  • 问题内容: 我如何阅读像android app中的文本文件: 所以我可以返回一个字符串,如: 我想到的是(伪代码): 问题答案: 试试这个

  • 问题内容: 我在使用BufferedReader时遇到问题 我想打印一个文本文件的6行: 现在,从每次调用readLine()方法可以收集到的信息开始,它都会自动前进到下一行。 所以我不能使用条件br.readLine()!= null,因为它已经将其前进了一行,并且我得到了输出: 我使用什么条件来检查文本字段中是否还有新行。 提前致谢! 问题答案: 这就是问题: 您有两次调用-第一个 仅 检查是