Frage

I ASP.net mit VB.NET verwenden. Gibt es einen Validator, dass ich das verwenden kann, wird die Größe des hochgeladenen Bildes überprüfen? Else was muß ich in Code tun, um sicherzustellen, dass der Benutzer lädt Bilder nicht mehr als 1 MB?

P. S C # -Code wird auch tun, ich einen Konverter zu VB.NET verwenden

Bearbeiten

Aus irgendeinem Grund, wenn ich die maxRequestLength bis 1024 (in meinem web.config) ändern und ich ein Bild mit einer Größe 1.25MB laden dann erhalte ich die Seite Microsoft Fehlermeldung, „Internet Explorer kann die Webseite nicht angezeigt werden kann“. Und ich habe einen Try Catch-Block haben in meinem Submit-Button. Wenn ich die maxRequestLength von meinem Web.config entfernen dann funktioniert es gut.

War es hilfreich?

Lösung

Dies wird letztlich in Web.config behandelt. Suchen Sie nach dem Httpruntime Abschnitt:

<httpRuntime 
 executionTimeout="110" 
 maxRequestLength="4096" 
/>

Es gibt viele andere Einstellungen in Httpruntime, aber diese sind die beiden, die relevant sind. Hier wird die maxRequestLength auf 4096 gesetzt ist, oder 4KB (die Anzahl ist in Bytes). Also, stellen Sie diesen Wert entsprechend. Außerdem werden Sie die executionTimeout dementsprechend auch setzen, so dass es eine angemessene Menge an Zeit gibt zu laden, was Sie max Upload ist.

Andere Tipps

Sie können den folgenden Code verwenden, um die Größe zu bestimmen [in KB] der hochgeladenen Datei, und wenn Sie die Größe, können Sie leicht entscheiden, ob Sie weiter mit der Datei fortfahren möchten oder verwerfen Sie den Upload.

Request.Files(0).ContentLength / 1024

Das kann nicht ein Webseitenfehler angezeigt tritt auf, da ASP.NET die Verbindung für übergroße Anfragen bricht DOS-Attacken basierend auf überdimensionalen Anfragen zu mildern. Um dies zu umgehen, müßten Sie den Upload in einem iframe zu tun und dann erkennen, ob ein Fehler aufgetreten ist oder nicht. Sie könnten auch einen Flash, Silverlight, Java oder ActiveX Uploader Komponente auf dem Client installiert verwenden, um die Dateigröße Client-Seite zu überprüfen, aber das wird die Installation je nach Ihrer Lösung benötigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top