我只是在开发一个 Flex 移动应用程序,需要显示一个图像的上传进度。
代码是:
protected function upload( ba:ByteArray, fileName:String = null ):void {
if( fileName == null ) {
var now:Date = new Date();
fileName = "IMG" + now.fullYear + now.month +now.day +
now.hours + now.minutes + now.seconds + ".jpg";
}
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
var wrapper:URLRequestWrapper = new URLRequestWrapper(ba, fileName, null, params);
wrapper.url = "http://www.the_url_to_upload.com/php_content/upload_image.php";
loader.addEventListener( Event.COMPLETE, completeImageHandler );
loader.addEventListener( ProgressEvent.PROGRESS, imageProgress);
loader.addEventListener(IOErrorEvent.IO_ERROR, errorImageUploading );
loader.load(wrapper.request);
}
private function imageProgress(evt:ProgressEvent):void {
var pcent:Number=Math.floor(evt.bytesLoaded/evt.bytesTotal*100);
label_upload.text = pcent+"%";
}
我有一个名为“label_upload”的标签,它应该显示文件上传时的进度百分比。
事实是一切正常,但进度事件不会改变任何东西。始终显示 0%。
我猜不出我的错。
谢谢。