Saya mendapatkan kesalahan Panjang permintaan maksimum terlampaui saat saya mencoba mengunggah video di situs saya.
Bagaimana cara saya memperbaikinya?
asp.net
iis
file-upload
Surya sasidhar
sumber
sumber
Web.config
alih-alih yang ada di dalamViews
folderSaya tidak berpikir itu telah disebutkan di sini, tetapi untuk membuatnya bekerja, saya harus menyediakan kedua nilai ini di web.config:
Di
system.web
Dan masuk
system.webServer
PENTING : Kedua nilai ini harus cocok. Dalam hal ini, unggahan maksimum saya adalah 1024 megabita.
maxRequestLength memiliki 1048576 KILOBYTES , dan maxAllowedContentLength memiliki 1073741824 BYTES .
Saya tahu ini sudah jelas, tetapi mudah untuk diabaikan.
sumber
web.config
file root proyek .Mungkin perlu dicatat bahwa Anda mungkin ingin membatasi perubahan ini ke URL yang Anda harapkan akan digunakan untuk mengunggah daripada seluruh situs Anda.
sumber
Dan untuk berjaga-jaga jika seseorang mencari cara untuk menangani pengecualian ini dan menunjukkan penjelasan yang berarti kepada pengguna (sesuatu seperti "Anda mengunggah file yang terlalu besar"):
(Diperlukan ASP.NET 4 atau lebih baru)
sumber
HttpContext.Current.ClearError()
diperlukan agar bisaResponse.Redirect()
berfungsi dengan baik. Dalam halweb.config
ini berfungsi hanya denganmaxRequestLength
atributhttpRuntime
.onchange
acara di tombol unggah dan membandingkan ukuran file unggahan dengan batas unggah maksimal.Ukuran permintaan maksimum adalah, secara default,
4MB (4096 KB)
Ini dijelaskan di sini .
Artikel di atas juga menjelaskan cara memperbaiki masalah ini :)
sumber
Jika Anda tidak dapat memperbarui file konfigurasi tetapi kontrol kode yang menangani unggahan file gunakan
HttpContext.Current.Request.GetBufferlessInputStream(true)
.The
true
nilaidisableMaxRequestLength
parameter memberitahu kerangka untuk mengabaikan batas permintaan dikonfigurasi.Untuk deskripsi terperinci, kunjungi https://msdn.microsoft.com/en-us/library/hh195568(v=vs.110).aspx
sumber
Ada elemen di web.config untuk mengonfigurasi ukuran maksimal file yang diunggah:
sumber
Untuk merangkum semua jawaban di satu tempat:
Aturan:
Catatan:
info lebih lanjut MSDN
sumber
maxRequestLength (panjang dalam KB) Di sini sebagai ex. Saya mengambil 1024 (1MB) maxAllowedContentLength (panjang dalam Bytes) harus sama dengan maxRequestLength Anda (1048576 bytes = 1MB).
sumber
Itu mengganggu saya selama berhari-hari juga. Saya memodifikasi file Web.config tetapi tidak berhasil. Ternyata ada dua file Web.config di proyek saya, dan saya harus memodifikasi satu di direktori ROOT , bukan yang lain. Semoga ini bisa membantu.
sumber
Jika Anda memiliki permintaan untuk membuka aplikasi di situs, pastikan Anda menetapkan maxRequestLength di root web.config. MaxRequestLength di web.config aplikasi tampaknya diabaikan.
sumber
httpRuntime maxRequestLength="###
danrequestLimits maxAllowedContentLength
dalam konfigurasi web di tingkat root, bukan di tingkat sub-aplikasi.Saya tersandung oleh kenyataan bahwa file web.config kami memiliki beberapa bagian system.web: berfungsi ketika saya menambahkan <httpRuntime maxRequestLength = "1048576" /> ke bagian system.web yang pada tingkat konfigurasi.
sumber
Saya harus mengedit
C:\Windows\System32\inetsrv\config\applicationHost.config
file dan menambahkan<requestLimits maxAllowedContentLength="1073741824" />
ke ujung ...bagian.
Sesuai Artikel Dukungan Microsoft ini
sumber
applicationHost.config
.Saya dapat menambahkan ke config web yang belum dikompilasi
sumber
executionTimeout
atribut tidak ada hubungannya dengan apa yang diminta, dan begitu juga dengancompilation
tag.