1182 Stimmen

Maximale Anfragelänge überschritten.

Ich erhalte die Fehlermeldung Maximale Anfragelänge überschritten wenn ich versuche, ein Video auf meine Website hochzuladen.

Wie kann ich das beheben?

2204voto

Sachin Shanbhag Punkte 52789

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 Kilobytes
  • maxAllowedContentLength wird gemessen in Bytes

weshalb die Werte in diesem Konfigurationsbeispiel unterschiedlich sind. (Beide entsprechen 1 GB.)

600voto

Karl Punkte 6704

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.

222voto

Nick Albrecht Punkte 16137

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>

57voto

Serge Shultz Punkte 5658

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)

32voto

Dave Punkte 6755

Die maximale Anfragegröße ist standardmäßig, 4MB (4096 KB)

Dies wird erklärt これ .

Der obige Artikel erklärt auch, wie man dieses Problem beheben kann :)

CodeJaeger.com

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.

Powered by:

X