2010-09-21 6 views
6

Tôi đang tải tệp lên máy chủ bằng cách sử dụng một số nhiều URLLoader. Tôi có thể tải lên các tập tin tốt. Tôi đã cố gắng lắng nghe sự kiện tiến bộ trên URLLoader nhưng nó chỉ cháy ở phần cuối của quá trình tải lên. Làm thế nào để tôi có được sự kiện tiến bộ nhất quán hơn thông qua việc tải lên?Tiến trình tải lên nhiều phần flex

Trả lời

2

Có một sự tiến bộ-bar:

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

Đăng ký một xử lý sự kiện tiến bộ:

refUploadFile.addEventListener(ProgressEvent.PROGRESS, onUploadProgress); 

Và xử lý nó:

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(); 
} 

Nếu tập tin của bạn là nhỏ, nó là bình thường để không nhận được nhiều sự kiện. Hãy thử với các tệp lớn hơn.

+1

đây chính xác là những gì tôi đã làm. Vấn đề vẫn là sự kiện chỉ được kích hoạt ở phần cuối của quá trình tải lên. – asawilliams

+0

có lẽ tệp của bạn rất nhỏ? Hãy thử với một cái lớn hơn. – Bozho

+0

ive đã thử với kích thước tệp là 1,6 MB, mất khoảng 20 giây để hoàn thành. – asawilliams