java - 通量文件部分验证和文件上传
问题描述
我正在使用通量上传文件。我正在尝试验证文件名,如果它包含任何特殊字符,那么应该向客户端抛出一条错误消息。如果验证通过,则上传文件。我尝试了以下代码,但验证块未执行并且文件上传成功。
public Flux<Response> upload(@RequestBody Flux<Part> parts) {
// validation
parts.filter(part -> part instanceof FilePart).ofType(FilePart.class).flatMap(filePart -> {
// check file name contains special caharcetrs validation and throw invalid input exception if contains
if(filePart.filename()..) {
....
}
return null;
});
// file uploading
return parts.filter(part -> part instanceof FilePart).ofType(FilePart.class).flatMap(filePart -> {
// if validation passes, file upload and return result after success or failure (Mono<Response>).
});
}
但上面的验证块没有执行,但文件上传块正在执行并返回结果。如何结合这两种逻辑?首先我想做验证,如果发现返回相同的客户端,否则上传文件并返回结果。
解决方案
推荐阅读
- java - 不使用 ImageIO.read() 从 JPG 转换为 PNG 图像
- php - HTML 代码正在电子邮件中发送,而不是渲染视图 Wordpress
- python - pydantic 中的验证
- ios - iAP 自动更新订阅恢复所有已完成的交易都回来了
- discord.js - DiscordJS V12 - reactCollector 'remove' 从不发射
- php - Elasticsearch搜索具有同一集群的不同字段的不同索引
- ubuntu-20.04 - 在ubuntu 20.04 LTS上安装cyberpanel时出现groupadd -g 2001 ftpgroup错误
- arrays - 打印仅出现一次的数组元素 (C)
- spring-boot - 在服务类方法中访问 Oauth 客户端和 Principal
- julia - 是否可以使用 Julia 的协程来实现效果处理程序?