【发布时间】:2021-05-18 16:07:49
【问题描述】:
在下面的 sn-p 中,我尝试使用 Spring 的 Part 对象提取文件的内容(发送到给定的服务)并将其转换为字符串。
问题是它跳过了映射器函数,并且映射器函数内的代码不会像 filePartMono 的内容为空一样执行,但是当我在运行时检查对象时,它的存储字段具有文件的数据。
public void parseFilePart(Part filePartMono) {
filePartMono.content().map(dataBuffer -> {
byte[] bytes = new byte[dataBuffer.readableByteCount()];
dataBuffer.read(bytes);
DataBufferUtils.release(dataBuffer);
String fileContent = new String(bytes, StandardCharsets.UTF_8);
});
}
【问题讨论】:
-
为什么函数无效?什么在调用这个函数。你不应该有 void 函数,你需要返回一些东西以便调用代码可以链接。请贴出调用此函数的代码。
-
该方法应该返回一些 Mono
,但即使使用该返回类型,它的行为也是相同的。 void 仅用于测试目的。
标签: java spring spring-webflux