2016-04-03 7 views
0

Ich benutze SPring Boot, um mein System zu entwickeln, aber ich habe diese Ausnahme beim Hochladen einer Datei, die 1 MB überschreiten (mit Multipart-Dateityp). Kann mir das jemand erklären? dankeMultipart File Exceed Limit Ausnahme

java.lang.IllegalStateException: Mehrteiliger Mime Teildatei bei org.eclipse.jetty.util.MultiPartInputStreamParser $ MultiPart.write (MultiPartInputStreamParser.java:111) Maximale Dateigröße überschreitet ~ [Anlegesteg-util-9.2 .14.v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty.util.MultiPartInputStreamParser.parse (MultiPartInputStreamParser.java:681) ~ [jetty-util-9.2.14.v20151106.jar: 9.2.14 .v20151106] bei org.eclipse.jetty.util.MultiPartInputStreamParser.getParts (MultiPartInputStreamParser.java:400) ~ [Anlegesteg-util-9.2.14.v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty .server.Request.getParts (Request.java:2146) ~ [jetty-server-9.2.14.v20151106.jar: 9.2.14.v20151106] unter org.eclipse.jetty.server.Request.extractMultipartParameters (Request.java:386) ~ [jetty-server-9.2.14.v20151106.jar: 9.2.14.v20151106] unter org.eclipse.jetty.server. Request.extractContentParameters (Request.java309) ~ [jetty-server-9.2.14.v20151106.jar: 9.2.14.v20151106] unter org.eclipse.jetty.server.Request.extractParameters (Request.java:257) ~ [jetty-server-9.2.14.v20151106.jar: 9.2.14.v20151106] unter org.eclipse.jetty.server.Request.getParameter (Request.java:826) ~ [jetty-server-9.2.14. v20151106.jar: 9.2.14.v20151106] unter org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal (HiddenHttpMethodFilter.java:70) ~ [spring-web-4.2.4.RELEASE.jar: 4.2.4.RELEASE] bei org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) ~ [Frühling-Web-4.2.4.RELEASE.jar: 4.2.4.RELEASE] unter org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1652) ~ [jetty-servlet-9.2.14.v20151106.jar: 9.2.14.v20151106] unter org.springframework.web. filter.CharacterEncodingFilter.doFilterInternal (ZeichenEncodingFilter.java:121) ~ [spring-web-4.2.4.RELEASE.jar: 4.2.4.RELEASE] bei org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java: 107) ~ [spring-web-4.2.4.RELEASE.jar: 4.2.4.RELEASE] bei org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1652) ~ [jetty-servlet- 9.2.14.v20151106.jar: 9.2.14.v20151106] unter org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal (MetricsFilter.java:103) ~ [spring-boot-aktor-1.3.1.RELEASE. jar: 1.3.1.RELEASE] unter org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.jav a: 107) ~ [feder-web-4.2.4.RELEASE.jar: 4.2.4.RELEASE] bei org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1652) ~ [Anlegestelle servlet-9.2.14.v20151106.jar: 9.2.14.v20151106] bei vn.com.splussoftware.sms.config.OAuth2AuthenticationFilter.doFilter (OAuth2AuthenticationFilter.java:71) ~ [bin /: na] bei org.eclipse .jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1652) ~ [jetty-servlet-9.2.14.v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty.servlet.ServletHandler.doHandle (ServletHandler.java:585) [jetty-servlet-9.2.14.v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:143) [Anlegestelle -server-9.2.14.v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:577) [jetty-security-9.2.14.v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty.server.session.SessionHandler.doHandle (SessionHandler.java:223) [jetty-server-9.2.14. v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty.server.handler.ContextHandler.doHandle (ContextHandler.java:1127) [jetty-server-9.2.14.v20151106.jar: 9.2.14.v20151106 ] bei org.eclipse.jetty.servlet.ServletHandler.doScope (ServletHandler.java:515) [jetty-servlet-9.2.14.v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty.server. session.SessionHandler.doScope (SessionHandler.java:185) [jetty-server-9.2.14.v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty.server.handler.ContextHandler.doScope (ContextHandler.java:1061) [jetty-server-9.2.14.v20151106.jar: 9.2.14.v20151106 ] bei org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:141) [jetty-server-9.2.14.v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty. server.handler.HandlerWrapper.handle (HandlerWrapper.java:97) [jetty-server-9.2.14.v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty.server.Server.handle (Server.java : 499) [jetty-server-9.2.14.v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty.server.HttpChannel.handle (HttpChannel.java:311) [jetty-server-9.2.14 .v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty.server.HttpConnection.onFillable (HttpConnection.java:257) [jetty-server-9.2.14.v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty.io.AbstractConnection $ 2.run (AbstractConnection.java:544) [jetty-io-9.2.14.v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty.util. thread.QueuedThreadPool.runJob (QueuedThreadPool.java:635) [jetty-util-9.2.14.v20151106.jar: 9.2.14.v20151106] bei org.eclipse.jetty.util.thread.QueuedThreadPool $ 3.run (QueuedThreadPool. java: 555) [Anlegesteg-util-9.2.14.v20151106.jar: 9.2.14.v20151106] bei java.lang.Thread.run (Unknown Source) [na: 1.8.0_66]

Antwort

4

Projektierungs Datei-Uploads in application.properties Datei

Bestimmen Sie den Grenzwert

zum Beispiel an diesem Ort 3Mb

multipart.maxFileSize: 3Mb 
multipart.maxRequestSize: 3Mb 

und auch können Sie konfigurieren, selbst

Größen
+0

danke sir, es löst mein Problem gerade und vorwärts aber kann ich es als unbegrenzt konfigurieren? Wie -1 (Yeah -1 ist unbegrenzt, ich habe es versucht) –

+0

Für andere, die von Google hierher kommen, heißt es in der neuesten Dokumentation, dass nur die Eigenschaft 'spring.http.multipart.max-file-size' benötigt wird. – ndtreviv

+3

Es scheint, dass diese Eigenschaften sich ein wenig verschoben haben. Das funktioniert bei mir: 'spring.http.multipart.maxFileSize: 20MB spring.http.multipart.maxRequestSize: 20MB' –

1

in Knoten <servlet> .... <multipart-config> <location>/tmp</location> <max-file-size>1000000000</max-file-size> <max-request-size>1500000000</max-request-size> <file-size-threshold>0</file-size-threshold> </multipart-config>

+0

Aus unbekannten Gründen ignoriert meine Spring-Boot-Anwendung diese Einstellung, wenn sie auf Jetty eingesetzt wird. Nur die Einstellungen von application.properties funktionieren ordnungsgemäß. – Dariusz

+0

verwenden Sie @MultipartConfig in Ihrem Servlet? –

+0

ein Beispiel für den Upload mit Spring und Jetty: https://spring.io/guides/gs/uploading-files/ –

4

Dinge ein wenig in der propery Datei geändert hat.

spring: 
    http: 
    multipart: 
     maxFileSize: 20MB 
     maxRequestSize: 20MB 

Siehe https://github.com/spring-projects/spring-boot/blob/v1.4.2.RELEASE/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/MultipartProperties.java für eine Liste aller Eigenschaften, die konfiguriert werden können.

+0

Man könnte auch 'file-size-threshold: 5MB' definieren, sonst wird die ganze Datei in den Speicher geladen. –