2009-01-26 11 views
15

In Bezug auf diese Frage, Upload files directly to Amazon S3 from ASP.NET application, gibt es eine Möglichkeit, dies zu tun und einen Fortschrittsbalken zu haben?Upload Datei direkt auf S3 mit Fortschrittsbalken

---- ---- EDIT

Zwei Tage später und noch kein Glück mit direktem Weg. Gefunden eine Sache, die vielversprechend, aber nicht frei aussieht: http://www.flajaxian.com/

Verwendet Flash, um direkt auf S3 mit einem Fortschrittsbalken hochzuladen.

+1

Flajaxian jetzt für die Info – BigJoe714

+0

@ BigJoe714 dank frei zu sein scheint! –

+0

Es ist einfach, Fortschrittsbalken zu erreichen, wenn Sie JS hochladen die direkt von sagen wir mal mit httpUploadProgress Ereignis. Aber wie würde ich mich über das tun Der JS-> PHP Proxy-> S3 Fortschrittsbalken? – trainoasis

Antwort

4

Ich suche auch eine Lösung. Vielleicht wird dies eine Hilfe sein,

From AWS Dev Commnity Aber in vielen Sprachen (PHP, Java), für große Dateien, müssen Sie Ströme , durch die Verwendung der Sprachumgebung werden Stücke von Ihrem großen Datei nehmen ein nach dem anderen (in der Reihenfolge zentrale Speicher mit riesiger Menge an Daten für die hTTP POST von S3 für den Upload benötigt aufzuzufüllen.

die schöne an Strom ist, dass sie einen Rückruf hat aufgerufen, wenn der nächste Chunk wird für weitere PUT (im HTTPS Sinne) Daten zu S3 gelesen. Sie können diesen Rückruf verwenden, um zu berechnen und den Fortschritt auf dem Client UI anzuzeigen.

Siehe das Dokument von Libcurl in Details wie alles funktioniert.


Update: Es sieht aus wie es zwei einfache Möglichkeiten.

  1. Flash, via the FileReference class
  2. With a Java applet

Ich persönlich hasse 3rd-Party-Erweiterungen (Flash, Java) mit einer App-Funktion zu machen, aber ich habe nicht einen anderen Weg gefunden.

+0

Haben Sie erwogen, die W3C File API in einigen Browsern zu verwenden?Und was waren deine Ergebnisse, wenn das so ist? – Quickredfox

+0

Nein, habe es nicht versucht – Blaine

-2

Ein anderer Ansatz besteht darin, etwas wie Uber Uploader (http://uber-uploader.sourceforge.net/) zu verwenden, das eine perl/php-Hybridlösung mit einem Fortschrittsbalken ist. Sie würden einfach die Dateien auf Ihren Server hochladen und dann Ihren Server FTP im Hintergrund zum endgültigen Ziel haben. Es ist ein zusätzlicher Schritt, aber es gibt Ihnen etwas Zeit für die Verarbeitung/Codierung/etc., die Sie möglicherweise tun müssen, bevor Sie an S3 senden.

Verwandte Themen