Bild Upload-Fortschritt mit URLLoader AS3

8

Ich entwickle Bild-Uploader in Flash. Ich benutze FileReference.browse, um Bild zu suchen, dann ändere dieses Bild auf 1000 x 1000 px, wenn das Bild sehr groß ist, und lade es auf den Server hoch. Ich möchte die Fortschrittsleiste für den Bildupload-Fortschritt anzeigen.

Ich verwende URLLoader, um Binärdaten der Bilder in der Größe zu senden, aber ProgressEvent in URLLoader funktioniert nicht so, wie es funktionieren soll. Es wird nur ausgelöst, nachdem das Bild vollständig hochgeladen wurde, anstatt den Zwischenfortschritt anzuzeigen. ProgressEvent in FileReference funktioniert perfekt, um den Zwischenbild-Upload-Fortschritt anzuzeigen.

Gibt es eine Möglichkeit, den Upload-Fortschritt mithilfe von URLLoader anzuzeigen? oder

Können wir FileReference verwenden, um geändertes Bild zu laden und dann FileReference.upload aufzurufen, so wird es möglich sein, den tatsächlichen Fortschrittsbalken anzuzeigen.

Update 1 :
Aber mein Problem ist, dass ich die Größe des durchsuchten Bildes nach der Verwendung von FileReference.browse ändere, und ich möchte skalierte Bilder hochladen, nicht das Originalbild im FileReference-Objekt nach dem Durchsuchen. Wie verwende ich Filereference.upload in diesem Fall? Filereference.upload lädt das Originalbild, nicht das geänderte. Irgendeine Idee, wie man das geänderte Bild in das Filereference-Objekt legt und dann FileReference.upload verwendet.

Update 2 :
Nicht in der Lage, Daten in Dummy FileReference festzulegen, Daten sind schreibgeschützte Eigenschaft.

Update 3 :
Aber das hat das gleiche Problem, dass der Fortschritt beim Hochladen von Bildern nicht angezeigt wird:

"Leider gibt es ein Problem beim Abrufen des Fortschrittsereignisses. Wir können keinen Fortschritt beim Senden von Daten an den Server anzeigen, da Flash dies nicht unterstützt"

Ich suche genau nach einer Lösung für das oben genannte Problem. URLLoader funktioniert gut, um die Bilddaten zu veröffentlichen.

    
yhw42 02.10.2009, 22:57
quelle

2 Antworten

4

URLLoader ist so eingerichtet dass es KEINE Fortschrittsereignisse empfangen kann, bis der Ladevorgang abgeschlossen ist, wie in HIER in den Dokumenten. Möglicherweise können Sie stattdessen URLStream verwenden, um zu erhalten das Fortschrittsereignis, wie du es dir vielleicht wünschst? Ich bin mir nicht sicher, ob die Fortschrittsereignisse für URLStream nur für den Download der Antwort des Servers ausgelöst werden, oder ob sie für die gesamte Transaktion ausgelöst werden (Upload & Download), die Dokumente scheinen nicht genau zu spezifizieren.

    
JStriedl 08.12.2010 20:14
quelle
0

Verwenden Sie FileReference.upload, das ist genau das, was diese Methode ist, und Sie werden Ihre Fortschrittsanzeige haben.

    
JStriedl 03.10.2009 19:31
quelle