2010-09-21 7 views
6

Ich lade eine Datei auf einen Server mit einem multipart URLLoader. Ich kann die Datei gut hochladen. Ich habe versucht, das Fortschrittsereignis auf dem URLLoader zu hören, aber es wird nur am Ende des Uploads ausgelöst. Wie bekomme ich das Fortschrittsereignis durch den Upload konsistenter?Flex Multipart Upload Fortschritt

Antwort

2

Haben Sie einen Fortschrittsbalken:

<mx:ProgressBar width="100%" id="progBar" mode="manual" /> 

einen Fortschritt Event-Handler registrieren:

refUploadFile.addEventListener(ProgressEvent.PROGRESS, onUploadProgress); 

Und damit umgehen:

private function onUploadProgress(event:ProgressEvent):void { 
     var numPerc:Number = Math.round(
      (Number(event.bytesLoaded)/Number(event.bytesTotal)) * 100); 
     progBar.setProgress(numPerc, 100); 
     progBar.label = numPerc + "%"; 
     progBar.validateNow(); 
} 

Wenn Ihre Dateien klein sind, ist es normal, um nicht viele Ereignisse zu erhalten. Versuchen Sie es mit größeren Dateien.

+1

genau das habe ich gemacht. Das Problem ist immer noch, dass das Ereignis nur am Ende des Uploads ausgelöst wird. – asawilliams

+0

vielleicht sind Ihre Dateien sehr klein? Versuchen Sie es mit einem größeren. – Bozho

+0

Ich habe versucht, mit einer Dateigröße von 1,6 MB, dauert es etwa 20 Sekunden abgeschlossen. – asawilliams