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

更改Spring boot 2.1.2上文件上传的大小限制

阙项禹
2023-03-14

我正在开发一个带有角前端和springboot2.1.2后端的项目,并实现了一种上传图像的方法。但是,它仅在图像是

org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException:字段图像超过其最大允许大小1048576字节

我已经看了这些问题:我正在尝试设置maxFileSize但不尊重Spring上传文件大小限制

我试着添加

spring.servlet.multipart.max-File-Size: 30MB 
spring.servlet.multipart.max-Request-Size: 30MB

当这不起作用的时候

spring.servlet.multipart.maxFileSize: 30MB
spring.servlet.multipart.maxRequestSize: 30MB

我的申请。yml,这两个似乎都没什么作用。

我还发现:https://www.baeldung.com/spring-maxuploadsizeexceeded

并尝试设置该网站第2点所述的限制。

这些都没有奏效。你知道我做错了什么吗?这是我的申请表。yml:

logging:
  file: ./log/backend.log
  level.: WARN

banner:
  location: banner/banner.txt

server:
  context-path: /

spring:
  application:
    name: Backend
  jpa:
    hibernate:
      ddl-auto: validate
      use-new-id-generator-mappings: true
  profiles:
    active: development
  http:
    multipart:
      maxFileSize: 30MB
      maxRequestSize: 30MB

security:
  basic:
    enabled: false

management:
  info:
    git:
      mode: full

这是我的控制器:

@RestController
@RequestMapping(value = "/api/v1/image")
@Api(value = "Image")
public class ImageEndpoint {

    @Autowired
    private ImageMapper imageMapper;
    @Autowired
    private IImageService imageService;

    @RequestMapping(method = RequestMethod.POST)
    @PreAuthorize("hasRole('ADMIN')")
    @ApiOperation(value = "Upload a new image", authorizations = {@Authorization(value = "apiKey")})
    @ResponseStatus(HttpStatus.OK)
    public @ResponseHeader Long post(@RequestParam ("image") MultipartFile input){
        try {
            return imageService.save(imageMapper.dtoToEntitiy(new ImageDto(input.getBytes())));
        }catch (IOException io){
            throw new ResponseStatusException(HttpStatus.BAD_REQUEST);
        }
    }

更新:

  servlet:
    multipart:
      max-request-size: 30MB
      max-file-size: 30MB

这让它工作了,我刚开始添加它后就重新编译了,所以更改没有通过,实际上我只是需要重新构建才能工作。

共有1个答案

周作人
2023-03-14

您可以在属性文件中尝试以下配置吗?

multipart.max-file-size=30MB
multipart.max-request-size=30MB

如果是yml配置,请添加以下设置。

spring:
 http:
  multipart:
   max-file-size: 30MB
   max-request-size: 30MB

要上载长度不受限制的文件,可以设置以下选项。

spring.http.multipart.max-file-size=-1

希望它对你有用。

 类似资料:
  • 问题内容: 我有一个无法访问的PC上托管的网站。我有一个上传表单,允许人们上传最大30MB的mp3文件。我的服务器端脚本是用PHP完成的。 每次尝试上传文件时,都会收到一条错误消息,声称文件超出了允许的最大大小,因此我需要增加大小。我在网络上的研究建议更改我无权访问的文件,这样将无法正常工作。其他人建议我将自定义文件添加到我的根目录中,该文件无效。还有其他建议吗? 问题答案: 您需要设置的值,并在

  • 问题 如何限定上传文件的大小? Solution web.py 使用cgi 模块来解析用户的输入, 而 cgi 模块对最大输入大小有限制。 下面的代码限制了最大数据输入为 10MB. import cgi # Maximum input we will accept when REQUEST_METHOD is POST # 0 ==> unlimited input cgi.maxlen =

  • 问题内容: 我在Django应用中有一个表单,用户可以在其中上传文件。 如何设置上传文件大小的限制,以便如果用户上传的文件大于我的限制,则该表格将无效并且会引发错误? 问题答案: 此代码可能会帮助:

  • 本文向大家介绍Asp.Net修改上传文件大小限制方法,包括了Asp.Net修改上传文件大小限制方法的使用技巧和注意事项,需要的朋友参考一下 话不多说,随小编一起看看下面代码吧 i. Configuration节点下 ii. System.web下修改节点HttpRuntime为 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • 问题内容: 我只想限制用户可以上传的文件的大小。 我以为maxlength = 20000 = 20k,但这似乎根本不起作用。 我在Rails上运行,而不是在PHP上运行,但是我认为在HTML / CSS客户端进行此操作要简单得多,或者使用jQuery作为最后的手段。这是如此基本,尽管必须缺少一些我不知道或不知道的HTML标记。 希望支持IE7 +,Chrome,FF3.6 +。我想我可以在需要时

  • 这是我的代码。我无法上传任何大小超过1 mb的文件,但我已将maxFileSize设置为50mb,请帮助,我做错了什么? 这是我的代码。我无法上传任何大小超过1 mb的文件,但我已将maxFileSize设置为50mb,请帮助,我做错了什么?