it-swarm.com.de

Maximale Anforderungslänge überschritten.

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

Wie behebe ich das?

981
Surya sasidhar

Wenn Sie IIS zum Hosten Ihrer Anwendung verwenden, ist die Standardgröße der Upload-Datei 4 MB. Zum Erhöhen verwenden Sie bitte den folgenden 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>

Anmerkung:

  • maxRequestLength wird in Kilobyte gemessen
  • maxAllowedContentLength wird in Bytes gemessen

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

1862
Sachin Shanbhag

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:

In system.web

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

Und in system.webServer

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

IMPORTANT: 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ß, dass es offensichtlich ist, aber es ist leicht zu übersehen.

531
Karl

Es kann erwähnenswert sein, dass Sie diese Änderung auf die URL beschränken möchten, von der Sie erwarten, dass sie für den Upload verwendet wird, 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>
185
Nick Albrecht

Und nur für den Fall, dass jemand nach einer Möglichkeit sucht, mit dieser Ausnahme umzugehen, und dem Benutzer eine aussagekräftige Erklärung anzeigt (etwa "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(httpException.WebEventCode == WebEventCodes.RuntimeErrorPostTooLarge)
    {
        //handle the error
        Response.Write("Too big a file, dude"); //for example
    }
}

(ASP.NET 4 oder höher erforderlich)

41
Serge Shultz

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 man dieses Problem behebt :)

26
Dave

In web.config gibt es ein Element, mit dem die maximale Größe der hochgeladenen Datei konfiguriert werden kann:

<httpRuntime 
    maxRequestLength="1048576"
  />
18
ema

Wenn Sie die Konfigurationsdateien nicht aktualisieren können, aber den Code für das Hochladen von Dateien steuern möchten, verwenden Sie HttpContext.Current.Request.GetBufferlessInputStream(true).

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

Eine detaillierte Beschreibung finden Sie unter https://msdn.Microsoft.com/en-us/library/hh195568 (v = vs.110) .aspx

16
Sergey Tarasov

maxRequestLength (Länge in KB) Hier als Beispiel. Ich nahm an, dass 1024 (1 MB) maxAllowedContentLength (Länge in Bytes) gleich Ihrer maxRequestLength sein sollte (1048576 Bytes = 1 MB).

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

<system.webServer>
   <security>
      <requestFiltering>
          <requestLimits maxAllowedContentLength="1048576"/>
      </requestFiltering>
   </security>
</system.webServer>
8
UniCoder

So fassen Sie alle Antworten an einem Ort zusammen:

<system.web>
  <httpRuntime targetFramework="4.5.2" maxRequestLength="1048576"/>
</system.web>

<system.webServer>
  <security>
    <requestFiltering>
      <requestLimits maxAllowedContentLength="1073741824" />
    </requestFiltering>
  </security>
</system.webServer>

Regeln:

  • der Wert für maxRequestLength (ausgedrückt in KB) muss mit maxAllowedContentLength (ausgedrückt in Byte) übereinstimmen.
  • in den meisten Fällen enthält Ihr Abschnitt system.web bereits eine "httpRuntime". Stellen Sie Ihr targetFramework auf die Version Ihres .net ein.

Anmerkungen:

  • der Standardwert für maxRequestLength ist 4096 (4 MB). Maximalwert ist 2.147.483.647
  • der Standardwert für maxAllowedContentLength ist 30.000.000 (ca. 30 MB). Maximalwert ist 4.294.967.295

weitere Informationen MSDN

7
BernieSF

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 sich in meinem Projekt zwei Web.config-Dateien befinden, und ich sollte die Datei im Verzeichnis ROOT ändern, nicht die anderen. Hoffe das wäre hilfreich.

6
NiaoBlush

Wenn Sie eine Anforderung an eine Anwendung auf der Site haben, stellen Sie sicher, dass Sie maxRequestLength in der root-Datei web.config festgelegt haben. Die maxRequestLength in der web.config der Anwendung scheint ignoriert zu werden.

5
mhenry1384

Die Tatsache, dass unsere Datei "web.config" mehrere system.web-Abschnitte enthält, hat mich beeindruckt: Es hat funktioniert, als ich <httpRuntime maxRequestLength = "1048576" /> zum system.web-Abschnitt hinzugefügt habe, der sich auf Konfigurationsebene befindet.

1
Graham Laight

Ich musste die C:\Windows\System32\inetsrv\config\applicationHost.config -Datei bearbeiten und <requestLimits maxAllowedContentLength="1073741824" /> am Ende des ...

<configuration>
    <system.webServer>
        <security>
            <requestFiltering>

sektion.

Gemäß diesem Microsoft Support-Artikel

1
HyperActive