Ich erhalte die Fehlermeldung Maximale Anfragelänge überschritten wenn ich versuche, ein Video auf meine Website hochzuladen.
Wie kann ich das beheben?
Ich erhalte die Fehlermeldung Maximale Anfragelänge überschritten wenn ich versuche, ein Video auf meine Website hochzuladen.
Wie kann ich das beheben?
Wenn Sie IIS für das Hosting Ihrer Anwendung verwenden, beträgt die Standardgröße der hochgeladenen Datei 4 MB. Um sie zu erhöhen, verwenden Sie bitte den folgenden Abschnitt in Ihrem web.config
-
<configuration>
<system.web>
<httpRuntime maxRequestLength="1048576" />
</system.web>
</configuration>
Für IIS7 und höher müssen Sie auch die folgenden Zeilen hinzufügen:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
</system.webServer>
Hinweis :
maxRequestLength
wird gemessen in KilobytesmaxAllowedContentLength
wird gemessen in Bytesweshalb die Werte in diesem Konfigurationsbeispiel unterschiedlich sind. (Beide entsprechen 1 GB.)
Ich glaube nicht, dass es hier erwähnt wurde, aber um dies zum Laufen zu bringen, musste ich diese beiden Werte in der web.config angeben:
En system.web
<httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
そして、その中で system.webServer
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
WICHTIG : Diese beiden 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ß, es ist offensichtlich, aber es wird leicht übersehen.
Beachten Sie bitte, dass Sie diese Änderung auf die URL beschränken sollten, die für den Upload verwendet werden soll, und nicht auf Ihre gesamte Website.
<location path="Documents/Upload">
<system.web>
<!-- 50MB in kilobytes, default is 4096 or 4MB-->
<httpRuntime maxRequestLength="51200" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<!-- 50MB in bytes, default is 30000000 or approx. 28.6102 Mb-->
<requestLimits maxAllowedContentLength="52428800" />
</requestFiltering>
</security>
</system.webServer>
</location>
Und nur für den Fall, dass jemand nach einer Möglichkeit sucht, diese Ausnahme zu behandeln und dem Benutzer eine sinnvolle Erklärung zu geben (etwas wie "Sie laden eine zu große Datei hoch"):
//Global.asax
private void Application_Error(object sender, EventArgs e)
{
var ex = Server.GetLastError();
var httpException = ex as HttpException ?? ex.InnerException as HttpException;
if(httpException == null) return;
if (((System.Web.HttpException)httpException.InnerException).WebEventCode == System.Web.Management.WebEventCodes.RuntimeErrorPostTooLarge)
{
//handle the error
Response.Write("Too big a file, dude"); //for example
}
}
(ASP.NET 4 oder höher erforderlich)
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.