11 Stimmen

Hochladen großer Dateien in .NET

Ich habe viel recherchiert, um eine Upload-Komponente für .NET zu finden, mit der ich große Dateien hochladen kann, die einen Fortschrittsbalken hat und den Upload von großen Dateien fortsetzen kann. Ich bin auf einige Komponenten gestoßen wie AjaxUploader , SlickUpload und PowUpload , um nur einige zu nennen. Jede dieser Optionen kostet Geld, und nur PowUpload bietet den wiederaufnehmbaren Upload, allerdings mit einem Java-Applet. Ich bin bereit, für eine Komponente zu zahlen, die diese Dinge gut macht, aber wenn ich es selbst schreiben könnte, wäre es am besten.

Ich habe zwei Fragen:

  1. Ist es möglich, einen Dateiupload auf dem Client fortzusetzen, ohne Flash/Java/Silverlight zu verwenden?
  2. Hat jemand einige Code oder einen Link zu einem Artikel, der erklärt, wie ein .NET HTTPHandler zu schreiben, die Streaming-Upload und einen Ajax-Fortschrittsbalken ermöglichen wird?

Ich danke Ihnen,
Austin

[Bearbeiten]

Ich habe erkannt, dass ich in der Lage sein muss, wiederaufnehmbare Datei-Uploads für mein Projekt zu machen, irgendwelche Vorschläge für Komponenten, die das können?

6voto

Orion Edwards Punkte 117361

1) Ist es möglich, einen Datei-Upload auf dem Client fortzusetzen, ohne Flash/Java/Silverlight zu verwenden?

Nein. Das HTTP-Protokoll selbst unterstützt das Fortsetzen von Teil-Uploads nicht. Selbst wenn Sie Flash oder Silverlight verwenden würden, müssten Sie also etwas anderes wie FTP auf dem Server einsetzen.
Ich habe dieses Problem in der Vergangenheit "gelöst", indem ich eine benutzerdefinierte Client-Anwendung in C# geschrieben habe, die die Datei in kleine Teile (2 Megabyte) zerlegt, diese getrennt übertragen und dann vom Server wieder zusammengefügt hat.

2) Hat jemand einige Code oder einen Link zu einem Artikel, der erklärt, wie man einen .NET HTTPHandler zu schreiben, die Streaming-Upload und eine Ajax-Fortschrittsanzeige ermöglicht?

Dies löst zwar nicht das Problem des "Lebenslaufs", aber ich habe die SWFUpload auf der Client-Seite und es hat hervorragend funktioniert. Es bietet einen intelligenten Dateibrowser (bei dem Sie den Benutzer nur nach jpeg-Dateien usw. fragen können) und eine Fortschrittsverfolgung beim Hochladen, und das alles, ohne dass Sie Ihren Server überhaupt ändern müssen.

5voto

Kon Punkte 26399

Es ist nicht möglich, einen Upload mit der Standard-HTML-Dateieingabekontrolle fortzusetzen, da die gesamte Datei mit der HTTP-Anfrage übermittelt wird.

Ich habe die NeatUpload in der Vergangenheit, wodurch Sie einen Fortschrittsbalken erhalten. Es steht unter einer LGPL-Lizenz, Sie müssen also nicht dafür bezahlen und es ist Open Source.

0voto

Zum Problem des Lebenslaufs gibt es nichts mehr hinzuzufügen. Ich benutzte (und benutze weiterhin) telerik radUpload und bin sehr zufrieden damit (es kann sogar im Medium Trust Modus verwendet werden, was für mich sehr wichtig war). Das einzige Problem, das ich hatte (und nicht beheben konnte), ist das Hochladen von Dateien, die größer als 2 GB sind...

0voto

hunter Punkte 60542

SlickUpload ist ziemlich solide und eine Menge großer Unternehmen nutzen es von dem, was der Standort sagt.

0voto

Donal Punkte 1

Für Ihr Projekt ist es wahrscheinlich zu spät, aber POW Upload hat in seiner neuen Version den automatischen Upload von Lebensläufen eingeführt. Wir sind dabei, es auf unserer Website zu implementieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X