Ich habe ein Formular, das einen Datei-Upload in ASP.NET ausschließt. Ich muss die maximale Upload-Größe auf über 4 MB erhöhen.
Ich habe an bestimmten Stellen auf den folgenden Code bei msdn verwiesen .
[ConfigurationPropertyAttribute("maxRequestLength", DefaultValue = )]
Keine der Referenzen beschreibt tatsächlich, wie man es benutzt, und ich habe mehrere Dinge ohne Erfolg ausprobiert. Ich möchte dieses Attribut nur für bestimmte Seiten ändern, die zum Hochladen von Dateien aufgefordert werden.
Ist dies der richtige Weg? Und wie benutze ich das?
c#
.net
asp.net
file-upload
Eddie
quelle
quelle
Antworten:
Diese Einstellung wird in Ihre Datei web.config übernommen. Es betrifft jedoch die gesamte Anwendung ... Ich glaube nicht, dass Sie es pro Seite festlegen können.
"xxx" ist in KB. Der Standardwert ist 4096 (= 4 MB).
quelle
Für IIS 7+ müssen Sie neben dem Hinzufügen der Einstellung httpRuntime maxRequestLength auch Folgendes hinzufügen:
Oder in IIS (7):
quelle
maxRequestLength
undmaxAllowedContentLength
es zum LaufenUm die Größenbeschränkung für das Hochladen von Dateien zu erhöhen, haben wir zwei Möglichkeiten
1. IIS6 oder niedriger
Beispiel : Wenn Sie Uploads auf 15 MB beschränken möchten, setzen Sie maxRequestLength auf „15360“ (15 x 1024).
2. IIS7 oder höher
Beispiel : Wenn Sie Uploads auf 15 MB beschränken möchten, setzen Sie maxRequestLength auf "15360" und maxAllowedContentLength auf "15728640" (15 x 1024 x 1024).
MSDN-Referenzlink : https://msdn.microsoft.com/en-us/library/e1f13641(VS.80).aspx
quelle
Ich glaube, diese Zeile in der web.config legt die maximale Upload-Größe fest:
quelle
Für ein maximales Limit von 2 GB in Ihrer Anwendung web.config:
quelle
Wenn Windows 2003 / IIS 6.0 verwendet wird, überprüfen Sie AspMaxRequestEntityAllowed = "204800" in der Datei metabase.xml im Ordner C: \ windows \ system32 \ inetsrv \
Der Standardwert von "204800" (~ 205 KB) ist meiner Meinung nach für die meisten Benutzer zu niedrig. Ändern Sie einfach den Wert auf den Wert, der Ihrer Meinung nach max.
Wenn Sie die Datei nach dem Bearbeiten nicht speichern können, müssen Sie entweder den ISS-Server stoppen oder den Server aktivieren, um das Bearbeiten der Datei zu ermöglichen:
(Quelle: itmaskinen.se )
Bearbeiten: Ich habe die Frage nicht richtig gelesen (wie man die maxrequest in webconfig einstellt). Diese Informationen können jedoch für andere Personen von Interesse sein. Viele Personen, die ihre Websites von win2000-server auf win2003 verschieben und über eine funktionierende Upload-Funktion verfügen und plötzlich den Fehler Request.BinaryRead Failed erhalten , werden davon verwendet. Also lasse ich die Antwort hier.
quelle
Ich habe das gleiche Problem auf einem Win 2008 IIS-Server. Ich habe das Problem beim Hinzufügen dieser Konfiguration in der web.config gelöst:
Der requestLengthDiskThreshold beträgt standardmäßig 80000 Byte, ist also für meine Anwendung zu klein. requestLengthDiskThreshold wird in Bytes gemessen und maxRequestLength in KB.
Das Problem liegt vor, wenn die Anwendung eine
System.Web.UI.HtmlControls.HtmlInputFile
Serverkomponente verwendet. Das Erhöhen des requestLengthDiskThreshold ist erforderlich, um das Problem zu beheben.quelle
Wenn Sie Framework 4.6 verwenden
quelle
Die maximale Dateigröße kann auf einen einzelnen MVC-Controller oder sogar auf eine Aktion beschränkt werden.
Das Tag web.config <Speicherort> kann hierfür verwendet werden:
Oder Sie können diese Einträge in der eigenen web.config des Bereichs hinzufügen.
quelle
Ich weiß, dass es eine alte Frage ist.
Das müssen Sie also tun:
Fügen Sie in Ihrer web.config-Datei Folgendes hinzu
<system.web>
:und das unter
<system.webServer>
:Sie sehen im Kommentar, wie das funktioniert. In einem müssen Sie sie in Bytes und in dem anderen in Kilobyte haben. Hoffentlich hilft das.
quelle
Sie können diesen Codeblock in die Datei web.config Ihrer Anwendung schreiben.
Durch Schreiben dieses Codes können Sie eine größere Datei als jetzt hochladen
quelle
Wenn Sie Sharepoint verwenden, sollten Sie die maximale Größe auch mit den Verwaltungstools konfigurieren: kb925083
quelle
Ich habe einen Blog-Beitrag darüber, wie man die Dateigröße für die Asp-Upload-Kontrolle erhöht .
Aus der Post:
quelle
Wenn es auf Ihrem lokalen Computer funktioniert und nach der Bereitstellung in IIS (ich habe Windows Server 2008 R2 verwendet) nicht funktioniert, habe ich eine Lösung.
Öffnen Sie IIS (inetmgr). Gehen Sie zu Ihrer Website. Gehen Sie auf der rechten Seite zu Inhalt (Anforderungsfilterung). Gehen Sie zu Bearbeitungsfeature-Einstellungen. Ändern Sie die maximale Inhaltsgröße als (benötigte Bytes). Dies funktioniert. Sie können auch Hilfe von folgendem Thread http://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits erhalten
quelle
Wenn Sie ssl cert verwenden, konfigurieren Sie die Einstellungen für die SSL-Pipeline F5. Wichtig.
quelle