Heim >Java >javaLernprogramm >So lösen Sie das Problem der begrenzten Upload-Dateigröße in SpringBoot

So lösen Sie das Problem der begrenzten Upload-Dateigröße in SpringBoot

WBOY
WBOYnach vorne
2023-05-16 14:22:126326Durchsuche

1. Konsolenausnahme Das Frontend zeigt, dass die Standardgrenze für MultipartFile-Dateien ebenfalls 1048576 Byte beträgt, was 1 MB entspricht.

Aber in vielen Fällen sind die Ausweisfotos oder Dokumente, die wir direkt mit unseren Mobiltelefonen aufnehmen, grundsätzlich größer als 2 Millionen. Offensichtlich kann dies unseren täglichen Bedarf nicht decken, daher müssen wir die Standardkonfigurationsparametergröße ändern.

2. Standardparameter zum Hochladen von Dateien

Verschiedene Versionen von SpringBoot haben unterschiedliche entsprechende Einstellungsparameter:

Spring Boot 1.3.

Spring Boot 1.4.x und 1.5.x

  • spring.http.multipart .maxFileSize

  • spring.http.multipart.maxRequestSize

Spring Boot 2.x

  • spring. servlet.multipart.maxFileSize

  • spring.servlet.multipart.maxRequestSize

3. Lösung3.1. Methode 1 (Parameter direkt in der Konfigurationsdatei .yml oder .properties ändern)

    Zum Beispiel verwende ich die Version von
  • SpringBoot 2.1.3

    und stelle dann direkt die Parametergröße ein in der Konfigurationsdatei:

    org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.
    	at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.handleParseFailure(StandardMultipartHttpServletRequest.java:121)
    	at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:114)
  • Nach der Einstellung das Projekt neu starten und die Datei kann erfolgreich hochgeladen werden.
  • 3.2, Methode 2 (benutzerdefinierte Konfigurationskonfigurationsklasse)

  • Konfigurieren Sie die Parameter im Remote-Konfigurationsdateicenter. Wenn sie sich in der Konfigurationsdatei im Konfigurationsprojekt befinden, ist sie mit Methode 1 identisch. Es ist kein Schreiben erforderlich Jetzt werden die Parameter im Remote-Konfigurationscenter konfiguriert, sodass die Parameter je nach temporärem Bedarf dynamisch geändert werden können, ohne das Projekt neu starten zu müssen.

Zu den gängigen Remote-Konfigurationsdateicenterdiensten gehören Nacos, Apollo (Apollo), SpringCloud usw. Ich verwende den Nacos-Konfigurationscenterdienst:

CustomizedMultipartFileConfig

Konfigurationsklasse:

#做限制的参数配置
spring:
  servlet:
    multipart:
      enabled: true #默认支持文件上传
      max-file-size: 20MB # 最大支持文件大小
      max-request-size: 30MB # 最大支持请求大小

#不做限制的参数配置
spring:
  servlet:
    multipart:
      enabled: true #默认支持文件上传
      max-file-size: -1 #不做限制
      max-request-size: -1 #不做限制

Das ist alles. Kontrollieren Sie die Größe der hochgeladenen Dateien Dateien jederzeit!

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem der begrenzten Upload-Dateigröße in SpringBoot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen