Javascript 在phonegap android中上载多个文件时使用jquery ui显示progressbar

Javascript 在phonegap android中上载多个文件时使用jquery ui显示progressbar,javascript,android,jquery,file-upload,cordova,Javascript,Android,Jquery,File Upload,Cordova,我正在将一些图像上传到android应用程序的服务器上。我想要的是,在上传时,我想显示进度条,而不是加载图像,这样用户就可以了解上传的图像数量。我仅使用jquery和jquery ui 1.10.2创建此应用程序。我在jQuery ui站点中显示了自定义进度条的示例,但我无法正确使用该示例。问题是,在上载时,进度条仅显示到50%,但所有图像都在此处上载。我用于进度条和上载图像的代码: var file_uri = ['file:///mnt/sdcard/TEST_demo/TEST_7

我正在将一些图像上传到android应用程序的服务器上。我想要的是,在上传时,我想显示进度条,而不是加载图像,这样用户就可以了解上传的图像数量。我仅使用jquery和jquery ui 1.10.2创建此应用程序。我在jQuery ui站点中显示了自定义进度条的示例,但我无法正确使用该示例。问题是,在上载时,进度条仅显示到50%,但所有图像都在此处上载。我用于进度条和上载图像的代码:

    var file_uri = ['file:///mnt/sdcard/TEST_demo/TEST_710_1113.jpg',
                'file:///mnt/sdcard/TEST_demo/TEST_710_1114.jpg',
                'file:///mnt/sdcard/TEST_demo/TEST_710_1115.jpg',
                'file:///mnt/sdcard/TEST_demo/TEST_710_1116.jpg'];
function upload_image()
{
for(var i =0;i<file_uri.length;i++)
{
    var imageURI = file_uri[i];
    server = urlserver+'upload.php';
    if (server) {

        var option = new FileUploadOptions();
            option.fileKey="file";
            option.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
            option.mimeType="image/jpeg/doc/docx/pdf/txt";
            option.chunkedMode = false;

            var ft = new FileTransfer();

        ft.onprogress = function(progressEvent) {
            if (progressEvent.lengthComputable) {
                var loaded = device.platform == "Android" ? (progressEvent.loaded / 2) : progressEvent.loaded;
                var perc =    Math.round( (loaded / progressEvent.total) * 100 );
                var progressbar = $("#progressbar"), progressLabel = $(".progress-label");
                progressbar.progressbar({
                    value : false,
                    change : function() {
                        console.log('in change function:');
                        progressLabel.text(progressbar.progressbar("value") + "%");
                    },
                    complete : function() {
                        progressLabel.text("Complete!");
                    }
                });
                function progress() {
                    console.log('in progress function');
//                      var val = progressbar.progressbar("value") || 0;
                    progressbar.progressbar("value", perc);
                    if (perc < 99) {
                        setTimeout(progress, 100);
                    }
                }
                setTimeout(progress, 1000);
            }
        }
        ft.upload(imageURI, server, function(r) {   
            document.getElementById('camera_status').innerHTML = "Upload successful: "+r.bytesSent+" bytes uploaded.";              
        }, function(error) {
            document.getElementById('camera_status').innerHTML = "Upload failed: Code = "+error.code;               
        }, option);
    }
}    }
var文件_uri=['file:///mnt/sdcard/TEST_demo/TEST_710_1113.jpg',
'file:///mnt/sdcard/TEST_demo/TEST_710_1114.jpg',
'file:///mnt/sdcard/TEST_demo/TEST_710_1115.jpg',
'file:///mnt/sdcard/TEST_demo/TEST_710_1116.jpg'];
函数upload_image()
{

对于(var i=0;i删除
/2
),这就是为什么您的进度以50%结束:

var loaded = device.platform == "Android" ? (progressEvent.loaded / 2) : progressEvent.loaded;    
新代码:

var loaded = progressEvent.loaded;    

我知道这是一个很老的问题,但是你有完整的代码吗?因为我也面临同样的问题。