当前位置: 首页 > 知识库问答 >
问题:

在spring boot中设置多部分上载的最大文件大小不适用于50MB限制

狄冥夜
2023-03-14

我使用的是SpringBoot v.2.3.0。发布

我有一个多部分RESTapi,我需要限制上传文件的大小。

因此,我将这些属性添加到我的application.properties文件中:

spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB

使用10MB限制可以很好地工作,但如果我将值从10MB更改为50MB,则无法工作。在这种情况下,我没有收到任何错误,API工作正常,但显然我需要限制此上载。

我注意到限制sill的工作值小于50MB(例如49MB就可以了)。

有什么原因吗?需要添加其他属性吗?

共有1个答案

酆华皓
2023-03-14

在我当前的Spring项目中,我使用自定义MultipartResolver配置了一个bean,它显式设置了最大上传大小。对于10MB的文件限制和50MB的总上传大小限制,您可以使用:

@Bean
public MultipartResolver multipartResolver() {
    CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
    multipartResolver.setMaxUploadSizePerFile(10000000);
    multipartResolver.setMaxUploadSize(50000000);

    return multipartResolver;
}

在Spring配置类中定义这个bean,您可能已经在某个地方创建了它(如果没有,请创建一个来保存您的bean定义)。

 类似资料:
  • 您可以使用基于浏览器的上传(不是多部分上传)中的内容长度范围字段来限制文件大小:http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-HTTPPOSTConstructPolicy.html 你怎么能在多部分上传中限制它?我正在使用EvaporateJS。

  • 我正在用Spring Boot 2.1.3(使用标准的Tomcat嵌入式web服务器)开发一个endpoint来上载图像,我想限制多部分上载的大小。我可以通过以下属性轻松完成此操作: 但是我总是得到Spring无法捕获的500,因为Tomcat正在抛出异常并且请求无法到达我在RestController中的代码。 我的ExceptionHandler是这样的,但无论注释中出现什么异常,它显然都不起

  • 问题内容: 我正在从远程位置下载文件,对于较小的文件,下载已完成;对于较大的文件(> 10 MB),下载未完成。这是我用于从远程服务器下载文件的代码。 问题答案: 您可以使用apache commons IO库。这很容易。我已经在许多项目中使用过它。

  • 问题内容: 我目前正在实现使用jersey rest上传文件的功能。我想设置一个允许的最大文件大小,这对我来说似乎是很常见的要求。 我的第一种方法是使用Jerseys FormDataContentDisposition,它应该包含我可能需要的有关文件的所有信息。但是似乎缺少所有信息,除了文件名,包括文件大小。 这是我的休息方法: 由于返回的大小始终为“ -1”,因此不起作用! 我使用一个非常简单

  • 我想用我的. htaccess将upload_max_filesize设置为3G(或最大值),因为我无法访问php.ini.我做了很多研究,这就是我现在得到的: .htaccess: 但不知怎么的,这对我不起作用。当我加上 对于我的PHP脚本,我只得到这样的响应: 当我使用而不是时,我得到一个500内部服务器错误 那么我做错了什么<提前谢谢! 编辑/解决方案:我使用的是一个共享托管服务,它不允许我

  • 我有一个endpoint,它将图像文件上传到服务器,然后上传到S3。 当我在本地主机上运行时,MultipartFile字节大小正确,并且上传成功。 然而,当我将它部署到EC2实例时,上传的文件大小不正确。 控制器代码 在 方法中,打印 file.size 会导致大小错误。 实际文件大小是649305字节,但是当上传到我的prod服务器时,它读取为1189763字节。 我的生产服务器是一个AWS