Pertanyaan Panjang permintaan maksimum terlampaui.


Saya mendapatkan kesalahan Panjang permintaan maksimum terlampaui ketika saya mencoba mengunggah video di situs saya.

Bagaimana saya memperbaikinya?


857
2017-10-04 08:48


asal


Jawaban:


Jika Anda menggunakan IIS untuk hosting aplikasi Anda, maka ukuran file upload default jika 4MB. Untuk meningkatkannya, silakan gunakan bagian di bawah ini di web.config Anda -

<configuration>
    <system.web>
        <httpRuntime maxRequestLength="1048576" />
    </system.web>
</configuration>

Untuk IIS7 dan di atas, Anda juga perlu menambahkan baris di bawah ini:

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

Catatan:

  • maxRequestLength diukur dalam kilobyte
  • maxAllowedContentLength diukur dalam byte 

itulah mengapa nilai berbeda dalam contoh konfigurasi ini. (Keduanya setara dengan 1 GB)


1650
2017-10-04 08:52



Saya tidak berpikir itu telah disebutkan di sini, tetapi untuk mendapatkan ini bekerja, saya harus menyediakan kedua nilai-nilai ini di web.config:

Di system.web

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

Dan masuk system.webServer

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

PENTING : Kedua nilai ini harus cocok. Dalam hal ini, upload maksimal saya adalah 1024 megabyte.

maxRequestLength memiliki 1048576 KILOBYTES, dan maxAllowedContentLength memiliki 1073741824 BYTES.

Saya tahu ini sudah jelas, tetapi mudah diabaikan.


499
2017-09-19 13:45



Mungkin perlu dicatat bahwa Anda mungkin ingin membatasi perubahan ini ke URL yang Anda harapkan untuk digunakan untuk mengunggah alih-alih seluruh situs Anda.

<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



Dan untuk berjaga-jaga jika seseorang mencari cara untuk menangani pengecualian ini dan menunjukkan penjelasan yang berarti kepada pengguna (sesuatu seperti "Anda sedang mengunggah file yang terlalu besar"):

//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 atau lebih baru diperlukan)


34
2018-05-23 19:58



Ukuran permintaan maksimum, secara default, 4mb (4096 KB)

Ini dijelaskan di sini: http://support.microsoft.com/default.aspx?scid=kb;EN-US;295626

Artikel di atas juga menjelaskan cara memperbaiki masalah ini :)


24
2017-10-04 08:51



Ada elemen di web.config untuk mengonfigurasi ukuran maksimal file yang diunggah:

<httpRuntime 
    maxRequestLength="1048576"
  />

17
2017-10-04 08:52



maxRequestLength (panjang dalam KB) Di sini sebagai ex. Saya mengambil 1024 (1 MB)    maxAllowedContentLength (length in Bytes) harus sama dengan maxRequestLength Anda (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