Frage Maximale Anforderungslänge überschritten.


Ich erhalte den Fehler Maximale Anforderungslänge überschritten wenn ich versuche, ein Video auf meiner Website hochzuladen.

Wie behebe ich das?


857
2017-10-04 08:48


Ursprung


Antworten:


Wenn Sie IIS zum Hosten Ihrer Anwendung verwenden, ist die Standardgröße für das Hochladen von Dateien 4 MB. Um es zu erhöhen, verwenden Sie bitte diesen Abschnitt in Ihrer 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 Kilobyte
  • maxAllowedContentLength wird gemessen in Bytes 

Aus diesem Grund unterscheiden sich die Werte in diesem Konfigurationsbeispiel. (Beide entsprechen 1 GB)


1650
2017-10-04 08:52



Ich denke nicht, dass es hier erwähnt wurde, aber um dies zum Laufen zu bringen, musste ich diese beiden Werte in der web.config angeben:

Im system.web

<httpRuntime maxRequestLength="1048576" executionTimeout="3600" />

Und in system.webServer

<security>
    <requestFiltering>
        <requestLimits maxAllowedContentLength="1073741824" />
    </requestFiltering>
</security>

WICHTIG : Beide Werte müssen übereinstimmen. In diesem Fall beträgt mein maximaler Upload 1024 Megabyte.

maxRequestLength hat 1048576 KILOBYTENund maxAllowedContentLength hat 1073741824 BYTES.

Ich weiß, es ist offensichtlich, aber es ist leicht zu übersehen.


499
2017-09-19 13:45



Es ist möglicherweise erwähnenswert, dass Sie diese Änderung möglicherweise auf die URL begrenzen möchten, die Sie für den Upload verwenden möchten, 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>

168
2018-05-06 16:57



Und für den Fall, dass jemand nach einer Möglichkeit sucht, mit dieser Ausnahme umzugehen und dem Benutzer eine sinnvolle Erklärung zu geben (etwa "Sie laden eine Datei hoch, die zu groß ist"):

//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(httpException.WebEventCode == WebEventCodes.RuntimeErrorPostTooLarge)
    {
        //handle the error
        Response.Write("Too big a file, dude"); //for example
    }
}

(ASP.NET 4 oder höher erforderlich)


34
2018-05-23 19:58



Die maximale Anforderungsgröße beträgt standardmäßig 4 MB (4096 KB).

Dies wird hier erklärt: http://support.microsoft.com/default.aspx?scid=kb;EN-US;295626

Der obige Artikel erklärt auch, wie Sie dieses Problem beheben können :)


24
2017-10-04 08:51



Es gibt ein Element in web.config, um die maximale Größe der hochgeladenen Datei zu konfigurieren:

<httpRuntime 
    maxRequestLength="1048576"
  />

17
2017-10-04 08:52



maxRequestLength (Länge in KB) Hier als ex. Ich habe 1024 (1MB)    maxAllowedContentLength (Länge in Bytes) sollte gleich sein wie Ihre maxRequestLength (1048576 Bytes = 1MB).

<system.web>
   <httpRuntime maxRequestLength="1024"
             executionTimeout="3600" />
   <compilation debug="true"/>
</system.web>

<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength="1048576"/>
  </requestFiltering>
</security>

6
2017-12-04 09:07



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 es in meinem Projekt zwei Web.config-Dateien gibt, und ich sollte das in der ändern WURZEL Verzeichnis, nicht die anderen. Ich hoffe, das wäre hilfreich.


6
2017-12-31 03:13



Wenn Sie die Konfigurationsdateien nicht aktualisieren können, aber den Code, der hochgeladene Dateien verarbeitet, vollständig verwenden, verwenden Sie HttpContext.Current.Request.GetBufferlessInputStream(true).

Das true Wert für disableMaxRequestLength Parameter weist das Framework an, konfigurierte Anforderungslimits zu ignorieren.

Für eine detaillierte Beschreibung besuchen https://msdn.microsoft.com/en-us/library/hh195568(v=vs.110).aspx


6
2017-08-10 07:13



Wenn Sie eine Anfrage an eine Anwendung auf der Site senden möchten, stellen Sie sicher, dass Sie maxRequestLength im Stamm web.config festgelegt haben. Die maxRequestLength in der web.config der Anwendungen scheint ignoriert zu werden.


5
2017-10-19 23:15