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:
Und keiner von ihnen löst das Problem.
Hier ist auch der Stacktrace:
%Vor%
Ich hatte das gleiche Problem beim Senden eines großen Formulars und play.http.parser.maxMemoryBuffer=4MB
löste es.
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%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%Tags und Links multipartform-data netty playframework-2.4