2010-08-30 5 views
5

Als ich verwendet, um 100KB Bild hochzuladen, habe ich keine Fehlermeldung., Aber Bild nicht hochgeladen. Ich kann 75KB Bild erfolgreich hochladen. Ich verwende IIS 6.0.AsyncFileUpload Dateigrößenbeschränkung

<cc1:AsyncFileUpload ID="afuImg" Width="400px" runat="server" 
UploaderStyle="Traditional" ThrobberID="Throbber2" 
    OnClientUploadError="uploadErrorImg" 
    OnClientUploadStarted="StartUploadImg" 
    OnClientUploadComplete="UploadCompleteImg" /> 

<httpRuntime maxRequestLength = "1024000" 
executionTimeout="54000" 
enableHeaderChecking ="false" /> 
+0

Möchten Sie die Dateigröße einschränken? Verwenden Sie Sime Uploader und versuchen Sie es Umair

+0

Umair

Antwort

0

Beim Versuch, Dateien über 200 KB auf IIS 6 die Datei hochladen kann nie zu laden und verwenden Sie einen Fehler erhalten oder auf einen leeren Bildschirm gesendet. Standardmäßig begrenzt der Windows-Server Dateiuploads auf ca. 200 KB. Um dieses Limit zu überwinden, müssen Sie die Datei IIS metabase.xml bearbeiten.

1.Bevor Sie die Datei metabase.xml bearbeiten können, müssen Sie IIS mitteilen, dass Sie die Datei bearbeiten dürfen. Klicken Sie in IIS mit der rechten Maustaste auf den Namen des Servers und wählen Sie Eigenschaften. Aktivieren Sie "Direct Metabase Edit aktivieren".

2. Suchen Sie die Datei metabase.xml, die sich in C: \ windows \ system32 \ inetserv befindet, und öffnen Sie die Datei im Editor.

3. Suchen Sie nach AspMaxRequestEntityAllowed und erhöhen Sie den Wert. Der Standardwert ist 204800 (200 KB). Wenn Sie den Wert auf 1000000 setzen, werden 1 MB Datei-Uploads möglich.

4. Sie möchten nun möglicherweise die IIS-Eigenschaft "Enable Direct Metabase Edit" deaktivieren.

Um die Dateigrößenbeschränkung zu erhöhen, wiederholen Sie alle obigen Schritte, aber in Schritt 3 finden Sie den Parameter AspBufferingLimit. Das Standard-Download-Limit beträgt 4 MB.

5

Sie können Dateien mit einer kombinierten Größe von bis zu 2 GB hochladen, aber es erfordert einige Änderungen in den Anwendungskonfigurationsdateien.

  • gesetzt maxRequestLength in Httpruntime bis 1024000000 (2GB max, haben Sie dies getan)
  • Gibt die maximale Anzahl von Sekunden, die eine Anforderung automatisch heruntergefahren ausführen darf von ASP, bevor sie. NETZ. Der Wert dieser Einstellung wird im Debug-Modus ignoriert. Der Standard in .NET Framework 2.0 ist 110 Sekunden. Um große Datei-Uploads zu aktivieren, die sehr lange dauern können, erhöhen Sie diese Eigenschaft. Siehe folgenden MSDN-Artikel: http://msdn2.microsoft.com/en-us/library/e1f13641.aspx.
  • Öffnen Sie die Datei C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config und finden Sie die Zeile:

    <section name="requestFiltering" overrideModeDefault="Deny" /> 
    
  • Stellen Sie die Eigenschaft auf overridemodedefault zulassen.
  • Die folgenden Attribute können im Element der Datei machine.config zugeordnet werden. Sie müssen auf der Maschinenebene und nicht auf der Anwendungsebene in web.config festgelegt werden.
  • responseDeadlockInterval - Gibt das Zeitintervall im Format HH: MM: SS an, nach dem der Prozess neu gestartet wird, wenn während dieses Intervalls keine Antwort erfolgt ist. Der Standardwert ist 3 Minuten. Um sehr große Uploads zuzulassen, müssen Sie diesen Wert möglicherweise erhöhen.
  • responseRestartDeadlockInterval - Gibt die Uhrzeit im Format HH: MM: SS an, die nach dem letzten Neustart verstreichen muss, um einen Deadlock zu beheben, bevor der Prozess erneut gestartet wird, um einen Deadlock erneut zu beheben. Um sehr große Uploads zuzulassen, müssen Sie diesen Wert möglicherweise erhöhen.
  • AspMaxRequestEntityAllowed - Wenn die Anwendung unter Windows Server 2003 gehostet wird, scheinen die obigen Einstellungen nicht zu wirken. In diesem Fall müssen Sie die IIS-Metadatendatei, insbesondere die AspMaxRequestEntityAllowed-Eigenschaft, ändern. Für weitere Informationen siehe: http://www.telerik.com/support/kb/article/b454K-gth-b454T-cee.aspx

Schließlich Obwohl ich es nicht sehr oft sehen

  • Wenn es eine dritte Partei Netzwerk-Monitoring-Software ist, sollten Sie sicherstellen, dass es richtig das Hochladen von Dateien konfiguriert ist, zu ermöglichen, mit der benötigten Länge und Inhalt.

Auch gibt es eine weitere Frage auf Stackoverflow, die in diesen die Antwort How do I configure IIS to handle really large file uploads?

In der obigen Frage geht https://stackoverflow.com/a/206796/728841 Urlscan sein listet das Problem, das es seine eigene Anforderungsentität Längenbegrenzung hat. Die Person wusste nicht, dass Urlscan auf dem Server ausgeführt wurde, da es sich um einen globalen ISAPI-Filter handelte, der nicht auf der einzelnen Website ausgeführt wurde.

Hinweis: Um nach globalen ISAPI-Filtern zu suchen, klicken Sie mit der rechten Maustaste auf den Ordner Websites in IIS Admin, klicken Sie auf Eigenschaften und anschließend auf die Registerkarte ISAPI-Filter.