我正在使用FileParts的流量来上传文件@RequestPart(FILES) Flux<FilePart> files
并试图限制文件的最大大小。看起来旧的方法不起作用:
spring.servlet.multipart.max-file-size=1MB
spring.servlet.multipart.max-request-size=1MB
而且我没有任何方法可以在
FilePart
接口(interface)中获取文件大小。那么,有没有办法在不复制的情况下限制webflux中上传文件的最大大小?我知道有像Content-Length
这样的 header ,但它看起来并不安全。 最佳答案
Web on Reactive Stack documentation声明以下内容:
我可以通过以下配置类来应用它:
@Configuration
@EnableWebFlux
public class WebConfig implements WebFluxConfigurer {
@Override
public void configureHttpMessageCodecs(ServerCodecConfigurer configurer) {
SynchronossPartHttpMessageReader partReader = new SynchronossPartHttpMessageReader();
partReader.setMaxParts(1);
partReader.setMaxDiskUsagePerPart(10L * 1024L);
partReader.setEnableLoggingRequestDetails(true);
MultipartHttpMessageReader multipartReader = new MultipartHttpMessageReader(partReader);
multipartReader.setEnableLoggingRequestDetails(true);
configurer.defaultCodecs().multipartReader(multipartReader);
}
}