SpringWebFlux多部分文件中的java句柄错误。转让给
我正在使用spring webflux,我想知道是否有人知道如何处理Mono<Void>
中的错误。我正在使用MultipartFile
的方法transferTo
,它在成功时返回Mono.empty()
,在其他情况下,它将异常包装在Mono.error()
public Mono<UploadedFile> create(final User user, final FilePart file) {
final UploadedFile uploadedFile = new UploadedFile(file.filename(), user.getId());
final Path path = Paths.get(fileUploadConfig.getPath(), uploadedFile.getId());
file.transferTo(path);
uploadedFile.setFilePath(path.toString());
return repo.save(uploadedFile);
}
我只想在transferTo
成功结束的情况下保存UploadedFile
。但我不能使用map/flatMap,因为空的Mono显然不会发出值onErrorResume
只接受具有相同类型(Void
)的Mono
# 1 楼答案
嗨,试着像这样链接你的运营商:
如果您的传输到将成功完成,它将调用然后调用操作符
另外,如果我没有弄错,FilePart正在阻塞,请尽量避免