PlayFramework 2.4.6 Fehler 413 Entität zu groß anfordern

7

Ich verwende PlayFramework 2.4.6, versuche eine mehrteilige Datei (Größe 18M) hochzuladen und der Server gibt den folgenden Fehler zurück:

%Vor%

Ich habe mich umgesehen und folgendes mit Erfolg versucht:

  1. play.http.parser.maxMemoryBuffer = 2000000K
  2. parsers.MultipartFormData.maxLength = 1024000K
  3. play.http.parser.maxDiskBuffer = 2000000K
  4. Action.async (parse.anyContent (Einige (1024 * 200L)))

Und keiner von ihnen löst das Problem.

Hier ist auch der Stacktrace:

%Vor%
    
Gleeb 29.03.2016, 12:00
quelle

4 Antworten

16

Das Problem damit gelöst:

%Vor%     
Gleeb 29.03.2016, 12:06
quelle
8

Ich hatte das gleiche Problem beim Senden eines großen Formulars und play.http.parser.maxMemoryBuffer=4MB löste es.

    
juanignaciosl 04.09.2016 18:00
quelle
4

In dieser Dokumentation finden Sie Informationen zu den Speicher- und Festplattenpuffern, die Play verwendet: Ссылка

  

Textbasierte Body-Parser (z. B. text, json, xml oder formUrlEncoded) verwenden eine maximale Inhaltslänge, da sie den gesamten Inhalt in den Speicher laden müssen. Standardmäßig ist die maximale Inhaltslänge, die analysiert wird, 100 KB . Sie kann überschrieben werden, indem Sie die Eigenschaft play.http.parser.maxMemoryBuffer in der Datei application.conf angeben:

     

play.http.parser.maxMemoryBuffer=128K

     

Bei Parsern, die Inhalte auf der Festplatte puffern, z. B. Rohparser oder Multipart / Formulardaten, wird die maximale Inhaltslänge mit der Eigenschaft play.http.parser.maxDiskBuffer angegeben, die Standardeinstellung ist 10 MB . Der multipart / form-data-Parser erzwingt auch die Eigenschaft text max length für das Aggregat der Datenfelder.

Da Sie also versuchen, eine mehrteilige Datei hochzuladen, müssen Sie play.http.parser.maxDiskBuffer auf etwas 18MB erhöhen.

Wenn Sie dies zu Ihrer application.conf hinzufügen, sollte das Problem behoben sein:

%Vor%     
cdmckay 23.10.2017 15:05
quelle
-1

Für diejenigen, die Probleme mit Play Framework 2.6.x haben, sehen Sie sich die Dokumentation unter Ссылка

an >
  

Max. Inhaltslänge Textbasierte Körperparser (wie z. B. Text, JSON, XML oder   formUrlEncoded) verwenden Sie eine maximale Inhaltslänge, da sie alle laden müssen   der Inhalt in den Speicher. Standardmäßig ist die maximale Inhaltslänge das   sie werden analysiert 100KB. Sie kann überschrieben werden, indem Sie die Option angeben   play.http.parser.maxMemoryBuffer-Eigenschaft in der application.conf:

fügen Sie folgendes in application.conf hinzu:

%Vor%     
AJS 18.01.2018 12:09
quelle