Występuje błąd Przekroczono maksymalną długość żądania, gdy próbuję przesłać film wideo na mojej stronie.
Jak to naprawić?
asp.net
iis
file-upload
Surya sasidhar
źródło
źródło
Web.config
zamiast do tego wViews
folderzeNie sądzę, żeby zostało tu wspomniane, ale aby to zadziałało, musiałem podać obie te wartości w pliku web.config:
W
system.web
I w
system.webServer
WAŻNE : obie wartości muszą się zgadzać. W takim przypadku moje maksymalne przesyłanie to 1024 megabajty.
maxRequestLength ma 1048576 KILOBYTES , a maxAllowedContentLength ma 1073741824 BYTES .
Wiem, że to oczywiste, ale łatwo to przeoczyć.
źródło
web.config
.Warto zauważyć, że możesz ograniczyć tę zmianę do adresu URL, który ma być używany do przesyłania, a nie do całej witryny.
źródło
I na wypadek, gdyby ktoś szukał sposobu na poradzenie sobie z tym wyjątkiem i przedstawienie użytkownikowi znaczącego wyjaśnienia (coś w rodzaju „Przesyłasz plik, który jest zbyt duży”):
(Wymagany ASP.NET 4 lub nowszy)
źródło
HttpContext.Current.ClearError()
był potrzebny, aby umożliwićResponse.Redirect()
prawidłowe działanie. Pod względem działaniaweb.config
działa tylko zmaxRequestLength
atrybutemhttpRuntime
.onchange
zdarzenia na przycisku przesyłania i porównując rozmiar pliku do przesłania z maksymalnym limitem przesyłania.Maksymalny rozmiar żądania to domyślnie
4MB (4096 KB)
Wyjaśniono to tutaj .
Powyższy artykuł wyjaśnia również, jak rozwiązać ten problem :)
źródło
Jeśli nie możesz zaktualizować plików konfiguracyjnych, ale kontrolować kod, który obsługuje przesyłanie plików, użyj
HttpContext.Current.Request.GetBufferlessInputStream(true)
.true
Wartość dladisableMaxRequestLength
parametru opowiada ramy ignorować skonfigurowane limity zgłoszeń.Szczegółowy opis znajduje się na stronie https://msdn.microsoft.com/en-us/library/hh195568(v=vs.110).aspx
źródło
W pliku web.config znajduje się element służący do konfigurowania maksymalnego rozmiaru przesyłanego pliku:
źródło
Podsumowując wszystkie odpowiedzi w jednym miejscu:
Zasady:
Uwagi:
więcej informacji MSDN
źródło
maxRequestLength (długość w KB) Tutaj jako przykład. Wziąłem 1024 (1 MB) maxAllowedContentLength (długość w bajtach) powinna być taka sama jak twoja maxRequestLength (1048576 bajtów = 1 MB).
źródło
Martwiło mnie to także od wielu dni. Zmodyfikowałem plik Web.config, ale nie działał. Okazało się, że w moim projekcie są dwa pliki Web.config i powinienem zmodyfikować jeden w katalogu ROOT , a nie inne. Mam nadzieję, że to byłoby pomocne.
źródło
Jeśli masz żądanie skierowane do aplikacji w witrynie, upewnij się, że ustawiłeś maxRequestLength w głównym pliku web.config. Parametr maxRequestLength w pliku web.config aplikacji wydaje się być ignorowany.
źródło
httpRuntime maxRequestLength="###
irequestLimits maxAllowedContentLength
w config WWW na poziomie głównym, a nie na poziomie sub-app.Byłem zaskoczony faktem, że nasz plik web.config ma wiele sekcji system.web: działało, gdy dodałem <httpRuntime maxRequestLength = "1048576" /> do sekcji system.web na poziomie konfiguracji.
źródło
Musiałem edytować
C:\Windows\System32\inetsrv\config\applicationHost.config
plik i dodać<requestLimits maxAllowedContentLength="1073741824" />
na końcu ...Sekcja.
Zgodnie z tym artykułem pomocy technicznej Microsoft
źródło
applicationHost.config
.Mogę dodać do konfiguracji web nieskompilowanej
źródło
executionTimeout
Atrybut nie ma nic wspólnego z tym, co jest proszony, i nie robicompilation
tag.