2009-03-30 8 views
7

Ich möchte eine ASP.NET-Webanwendung erstellen, die das Hochladen von Dateien bis zu einer Größe von 4 GB ermöglicht. Wie kann ich das erreichen? Ich würde lieber etwas wie einen "Download" -Manager bevorzugen, wo ich weitermachen, pausieren usw. kann ...Datei-Upload von mehr als 4GB

Ist das möglich? Wenn ja, wo soll ich anfangen? Ich denke asp.net hat ein Limit von 4 MB Upload oder etwas? Ich bin mir nicht sicher ..

Bitte um Rat.

Prost

Antwort

1

Sie können Dateien mit ASP.NET mit einer Fremdanbieterlösung erstellen, die die integrierte Anforderungsprüfung außer Kraft setzt. Dies funktioniert in allen Versionen von IIS, mit Ausnahme des integrierten IIS 7-Modus, der eine Grenze von 2 GB hat.

Die meisten Uploader verfügen nicht über die Kapazität zum Pausieren/Fortsetzen, sodass Sie möglicherweise kein Glück haben. Google und sehen Sie, was Sie finden können. Sie müssen wahrscheinlich Java oder ActiveX verwenden, um diese Funktionalität zu erhalten.

beginnen Stecker

Ich bin der Autor von SlickUpload, einer der ersten ASP.NET uploaders - es unterstützt Uploads bis zu 4 GB. Wir haben keine Flash-, Silverlight- oder Java-Unterstützung, aber momentan haben wir die beste AJAX-Erfahrung, und die Rich-Applet-Schnittstellen kommen in zukünftigen Versionen.

+0

Kann ich mehrere Dateien mit SlickUpload hochladen? – Imageree

+0

Imageree: Sie können mehrere Dateien mit diesem Steuerelement hochladen, aber Sie können jeweils nur 1 auswählen. Um also 5 Dateien hochzuladen, machst du fünf Auswahlen. Wenn Sie das Hochladen mehrerer Dateien aus einem einzigen Dialogfeld durchführen möchten, müssen Sie in Flash, Java oder Silverlight suchen. – pearcewg

+0

Probieren Sie die neueste Version von SlickUpload. In Version 6 wird die Auswahl von Dateien und Drag/Drop-Unterstützung für Browser, die dies unterstützen, mithilfe der HTML5-Datei-API unterstützt. Derzeit sind dies aktuelle Versionen von Chrome, Firefox und Safari. IE 9 unterstützt nicht die Datei-API, aber es sieht aus wie IE 10 wird. –

0

Die Grenze Datei-Upload wird in der Regel durch eine Server-Konfigurationsdatei geregelt. Es tut mir leid, ich bin ein PHP-Typ, also bin ich nicht sicher in asp.net, aber für unseren Server haben wir eine php.ini-Datei mit der upload_max_filesize, die die zulässige Gesamtgröße setzt.

Für den Upload-Manager benötigen Sie wahrscheinlich etwas, das mit Java Net Beans erstellt wurde, ein Java-basiertes Plugin, das Sie kaufen können, oder swfuploader.

Wir haben swfuploader mit viel Erfolg auf vielen Seiten verwendet.

1

Sie können Datei-Uploads immer selbst implementieren, es ist wirklich nicht so schwierig, wenn das .NET-Dienstprogramm ein Limit enthält (obwohl es das eigentlich nicht tun sollte).

Soweit eine Art von "Upload" -Manager, die Sie fortsetzen können, usw., das ist einfach nicht möglich, da es Zusammenarbeit mit dem Client erfordert, und die moderne Browser-Upload-Funktion einfach ist nicht so "smart".

Möglicherweise können Sie ein kleines Java-Applet erstellen, das Sie in Ihre Seite einbetten können, um die Clientseite der Konversation zu bearbeiten. Sie müssen jedoch das Applet signieren. Außerdem benötigen Sie eine benutzerdefinierte Serverlogik Handle das Backend.

+0

Anstelle von Java könnten Sie natürlich auch Flash oder Silverlight verwenden, aber im Wesentlichen haben Sie recht: Die Datei muss clientseitig verwaltet werden und es müssen nur Slices hochgeladen werden. –

1

Zusätzlich zu den Beschränkungen des Servers begrenzen Browser auch die Größe einer Datei, die in einem POST gesendet werden kann (etwas veraltet: http://www.motobit.com/help/scptutl/pa98.htm). Aus diesem Grund implementieren viele eine Flash- oder Java-basierte Lösung, die den Upload "Out-of-Band" mit einer direkten Verbindung zum Server sozusagen durchführen kann.

3

Sie möchten wahrscheinlich eine Komponente von Drittanbietern verwenden, um dies zu tun.

Sie haben Recht, dass das Standard-Steuerelement zum Hochladen von Dateien standardmäßig nicht mehr als 4 MB erlaubt. Sie können diesen Wert mit dem maxRequestLength Attribut des httpRuntime Konfigurationsabschnitts in web.config ändern. Sie müssten auch das Attribut executionTimeout ändern. Weitere Informationen finden Sie unter here.

Aber bis zu 4 GB? Ich bezweifle, dass Sie mit einem Standard-Datei-Upload-Steuerelement viel Erfolg haben werden. Wenn die Verbindung abbricht, ist alles vorbei und sie müssen erneut beginnen. Sie möchten wahrscheinlich etwas, das die Verbindung aufrechterhalten und einen Fortschrittsbalken und ähnliches bereitstellen kann.

Schauen Sie sich Produkte wie FileUp oder EasyAlgo an. Eine Google-Suche sollte Sie reichlich finden.

0

bei filemail.com sie haben einen Flex-Client verwendet, obwohl die Website auf asp.net basiert. Insgesamt denke ich, dass "Jeder" einen Active-X-Client für diese Aufgabe verwendet.

1

Die Grenze in .NET 2.0 ist 2 GB.

Wenn 3,5, dann betrachten Sie dies in Ihrer web.config, wenn Sie eine haben.setzt sie die maximale Dateigröße und Timeout:

<httpRuntime maxRequestLength="4194304" executionTimeout="2400"/> 

Natürlich kann Datei auf eine Website hochzuladen gefährlich sein, wenn Sie nicht caustious sind, so wie die anderen Poster, betrachten unter Verwendung eines ein getestet bestehenden, zumindest auf lerne alle Vorbehalte. Viel Glück.