Ich erhalte die Fehlermeldung Die maximale Anforderungslänge wurde überschritten, wenn ich versuche, ein Video auf meine Website hochzuladen.
Wie behebe ich das?
asp.net
iis
file-upload
Surya sasidhar
quelle
quelle
Web.config
anstelle der Einstellung imViews
Ordner hinzufügenIch glaube nicht, dass es hier erwähnt wurde, aber um dies zum Laufen zu bringen, musste ich beide Werte in der web.config angeben:
Im
system.web
Und in
system.webServer
WICHTIG : Beide Werte müssen übereinstimmen. In diesem Fall beträgt mein maximaler Upload 1024 Megabyte.
maxRequestLength hat 1048576 KILOBYTES und maxAllowedContentLength hat 1073741824 BYTES .
Ich weiß, dass es offensichtlich ist, aber es ist leicht zu übersehen.
quelle
web.config
.Es kann erwähnenswert sein, dass Sie diese Änderung möglicherweise auf die URL beschränken möchten, die Sie für den Upload verwenden möchten, und nicht auf Ihre gesamte Website.
quelle
Und nur für den Fall, dass jemand nach einer Möglichkeit sucht, diese Ausnahme zu behandeln und dem Benutzer eine aussagekräftige Erklärung zu zeigen (etwa "Sie laden eine zu große Datei hoch"):
(ASP.NET 4 oder höher erforderlich)
quelle
HttpContext.Current.ClearError()
um dasResponse.Redirect()
ordnungsgemäße Arbeiten zu ermöglichen . In Bezugweb.config
darauf funktioniert nur mit demmaxRequestLength
Attribut vonhttpRuntime
.onchange
Ereignisses auf der Schaltfläche zum Hochladen und Vergleichen der Größe der Upload-Datei mit dem maximalen Upload-Limit erfolgen.Die maximale Anforderungsgröße beträgt standardmäßig
4MB (4096 KB)
Dies wird hier erklärt .
Der obige Artikel erklärt auch, wie man dieses Problem behebt :)
quelle
Wenn Sie keine Konfigurationsdateien aktualisieren können, aber den Code für das Hochladen von Dateien steuern können, verwenden Sie
HttpContext.Current.Request.GetBufferlessInputStream(true)
.Der
true
Wert für dendisableMaxRequestLength
Parameter weist das Framework an, konfigurierte Anforderungslimits zu ignorieren.Eine ausführliche Beschreibung finden Sie unter https://msdn.microsoft.com/en-us/library/hh195568(v=vs.110).aspx
quelle
In web.config gibt es ein Element zum Konfigurieren der maximalen Größe der hochgeladenen Datei:
quelle
Um alle Antworten an einem Ort zusammenzufassen:
Regeln:
Anmerkungen:
Weitere Informationen MSDN
quelle
maxRequestLength (Länge in KB) Hier als Bsp. Ich habe 1024 (1 MB) genommen. MaxAllowedContentLength (Länge in Bytes) sollte mit Ihrer maxRequestLength (1048576 Bytes = 1 MB) übereinstimmen.
quelle
Es hat mich auch tagelang gestört. Ich habe die Datei Web.config geändert, aber es hat nicht funktioniert. Es stellte sich heraus, dass mein Projekt zwei Web.config-Dateien enthält, und ich sollte die eine im ROOT- Verzeichnis ändern , nicht die anderen. Hoffe das wäre hilfreich.
quelle
Wenn Sie eine Anfrage an eine Anwendung auf der Site haben, stellen Sie sicher, dass Sie maxRequestLength im Stammverzeichnis web.config festlegen. Die maxRequestLength in der web.config der Anwendung scheint ignoriert zu werden.
quelle
httpRuntime maxRequestLength="###
undrequestLimits maxAllowedContentLength
in eine Webkonfiguration auf der Stammebene und nicht auf der Unteranwendungsebene einfügen.Die Tatsache, dass unsere Datei web.config mehrere system.web-Abschnitte enthält, hat mich überrascht: Es hat funktioniert, als ich <httpRuntime maxRequestLength = "1048576" /> zum system.web-Abschnitt hinzugefügt habe, der sich auf Konfigurationsebene befindet.
quelle
Ich musste die
C:\Windows\System32\inetsrv\config\applicationHost.config
Datei bearbeiten und<requestLimits maxAllowedContentLength="1073741824" />
am Ende der ...Sektion.
Gemäß diesem Microsoft - Support - Artikel
quelle
applicationHost.config
.Ich kann unkompiliert zur Konfiguration Web hinzufügen
quelle
executionTimeout
Attribut hat nichts mit dem zu tun, was gefragt wird, und dascompilation
Tag auch nicht.