xan*_*r27 8 java upload spring file-upload spring-webflux
我正在使用 FileParts 的流量来上传文件 @RequestPart(FILES) Flux<FilePart> files
并试图限制文件的最大大小。看起来旧的方式不起作用:
spring.servlet.multipart.max-file-size=1MB
spring.servlet.multipart.max-request-size=1MB
Run Code Online (Sandbox Code Playgroud)
而且我没有任何方法可以在FilePart
界面中获取文件大小。那么有没有办法限制 webflux 中上传文件的最大大小,而无需复制它?我知道有像 的标题Content-Length
,但它看起来并不安全。
小智 5
该反应型堆叠文档Web规定如下:
对于写入磁盘的文件部分,还有一个额外的 maxDiskUsagePerPart 属性来限制每个部分的磁盘空间量。还有一个 maxParts 属性来限制多部分请求中的部分总数。要在 WebFlux 中配置所有 3 个,您需要向 ServerCodecConfigurer 提供 MultipartHttpMessageReader 的预配置实例。
我能够通过这个配置类应用它:
@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);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1936 次 |
最近记录: |