Große Datei (30Mb +) Uploads über das Internet, was sind die besseren Optionen?

9

Ein Freund und ich haben darüber diskutiert, wie man am besten große Dateien über das Internet sendet. FTP, einzelne Webdienste, Chunking-Bytes für mehrere Webdienste, HTTP-Dateipost (mehrteilige Nachricht), RIA-Schnittstelle (SilverLight oder Flash).

Gibt es Antworten / Lösungen, die fehlen?

Lassen Sie mich Ihnen meine spezifische Situation näher bringen.

Ich habe eine .NET 2.0 Windows Form- "Client" -Anwendung, die über Webdienste mit einer ASP.NET-Anwendung interagiert. In der Client-Anwendung muss ich eine große Datei hochladen und den Status des Uploads an den Benutzer kommunizieren. Ich machte einen einzigen Web-Service, aber fand die Dateigröße über das Internet problematisch, so erstellt mehrere Web-Dienste, um die Byte-Array zu chunk. Nun, andere Optionen in Betracht ziehen zu wollen.

Einige Nachforschungen ...

SilverLight-Datei-Upload www.codeplex.com/SilverlightFileUpld

ASP.NET-Datei-Upload www.brettle.com/neatupload

FTP in .NET Framework www.windowsdevcenter.com/pub/a/windows/2006/12/12/building-ftp-services-using-net-20.html

Andere Meinungen wollen. Danke.

    
petegordon 22.05.2009, 11:13
quelle

3 Antworten

5

Wir haben dieses Problem und wir verwenden eine Web-Service-Lösung mit drei Aufrufen, eine zum Starten des Prozesses, die zweite zum Senden von Teilen der Datei und die dritte zum Beenden des Prozesses, funktioniert wie ein Zauber.

    
Lloyd 22.05.2009, 11:14
quelle
0

Ich bin selbst ein Teil der Flash / Silverlight-Option (normalerweise Silverlight, da es sich wunderbar in .NET integriert). Beide Optionen bieten einen stabilen, schnellen Mechanismus zum Hochladen von Dateien, der die Seite, an der Sie arbeiten, nicht auflegt Benutzer, während des Hochladens andere Aufgaben auszuführen (vorausgesetzt, diese Aufgaben führen sie nicht zu einer anderen Seite).

Ein wirklich großartiges Beispiel für einen Flash-basierten Upload-Service, bei dem mehrere Dateien gleichzeitig hochgeladen werden können, finden Sie auf der Upload-Abweichungsseite von DeviantArt.com. Sie können eine Datei zum Hochladen auswählen, die dann im Hintergrund von dem, was für Ihren Browser funktioniert, gesendet wird (in einigen Fällen wird ein versteckter Iframe erstellt, der die Dateianforderung übermittelt, wenn Flash nicht verfügbar ist), und Sie erhalten ein Dateisymbol mit einer Async-Fortschrittsanzeige für jede Datei, die gerade hochgeladen wird.

Einer der zusätzlichen Vorteile von Flash / Silverlight ist, dass Sie mit der Datei auf der Client-Seite interagieren können, bevor Sie sie abschicken. So können Sie beispielsweise sicherstellen, dass die Daten keine Malware, Skripte usw. sind. Dies kann sehr schwierig sein oder unmöglich mit klassischen Datei-Upload und Javascript aufgrund von Berechtigungen Beschränkungen, die in der Regel in Web-Browsern in diesen Tagen vorhanden sind (aus gutem Grund.)

Für Ihre Anwendung würde ich sagen, dass Silverlight die beste Option für die Interaktion mit Ihren Webdiensten wäre (ich nehme klassische ASMX-Dienste an, aber wenn sie WCF sind, bietet Silverlight auch hervorragende Unterstützung für WCF.)

    
jrista 23.05.2009 18:38
quelle
0

Es gibt viele großartige Flash-Upload-Skripte, und sie haben beeindruckende Funktionen.

Am besten gefällt mir Solmetra Flash Uploader , der online-Demo sieht beeindruckend aus, und Sie könnten es auch auf Breite und Höhe auf Null setzen und es in Javascript schreiben.

Eine andere Option wäre SWFUpload , die weniger auffällig ist, aber die Arbeit je nach Bedarf besser erledigen könnte. Es hat auch eine Online-Demo .

Sogar Google Mail verwendet Flash zum Hochladen von Anhängen .

>     
Osama Al-Maadeed 27.05.2009 19:32
quelle

Tags und Links