java - 如何在 Reactive Spring WEBFlux(Spring 5) 中读取上传的 json 文件内容
问题描述
我正在 Spring WEB Flux 应用程序中上传一个 json 文件,如下所示
public Mono<ServerResponse> uploadfile(ServerRequest request) {
return request.body(BodyExtractors.toMultipartData()).flatMap(p -> {
FilePart filePart = (FilePart)p.toSingleValueMap().get("file");
Flux<DataBuffer> dataBuffer1 = filePart.content();
//Here i want to read the content of my uploaded json file
});
return ServerResponse.ok().contentType(APPLICATION_JSON).body(Mono.just("SUCCESS"), String.class);
}
你能帮助我如何在这里提取 json 文件内容吗?
解决方案
@PostMapping("/uploadFile")
public Mono<String> uploadFile(@RequestPart("file") FilePart filePart) {
Path tempFile = Files.createTempFile("test", filePart.filename());
filePart.transferTo(tempFile);
File file = ResourceUtils.getFile(tempFile.toUri());
String content = new String(Files.readAllBytes(file.toPath()));
return Mono.just(content);
}
推荐阅读
- php - Laravel 从 5.6 迁移到 5.8,现在所有 url 链接都不起作用
- c++ - 如何将 glfw 库包含到 C++ 项目中?
- mysql - MYSQL中按时间段链接的事实与时间维度表
- c++ - Is there a way to expand and call a tuple of std::functions?
- javascript - 如何判断 ES6 类是否具有给定名称的 getter?
- sql - ORACLE SQL - 我如何计算,但选择的属性比我想要分组的多?
- python - 在对象数组中查找唯一值并附加所有相关值
- node.js - 删除引用节点 JS
- regex - 丢弃命名 pcre 捕获组中的空格
- html - CSS3 使用固定的 Flex div 向上和向下滑动