Javascript 在phonegap android中上载多个文件时使用jquery ui显示progressbar
我正在将一些图像上传到android应用程序的服务器上。我想要的是,在上传时,我想显示进度条,而不是加载图像,这样用户就可以了解上传的图像数量。我仅使用jquery和jquery ui 1.10.2创建此应用程序。我在jQuery ui站点中显示了自定义进度条的示例,但我无法正确使用该示例。问题是,在上载时,进度条仅显示到50%,但所有图像都在此处上载。我用于进度条和上载图像的代码: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
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;
我知道这是一个很老的问题,但是你有完整的代码吗?因为我也面临同样的问题。