2013-12-09 56 views
0

我上傳一些圖片到我的android應用中的服務器上。我想要的是上傳時我想顯示進度條而不是加載圖片,以便用戶可以理解圖片上傳量。我創建這個應用程序使用jQuery和jQuery的UI 1.10.2只。我在jQuery ui站點上顯示的自定義進度條示例,但我無法正確使用它,問題是上傳它時只顯示進度條直到50%,但所有圖像都在這裏上傳了我使用的代碼進度條和上傳圖像:在iphone上傳多個文件時使用jquery ui顯示進度條android

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); 
    } 
} } 
+0

我知道它的老問題,但你有完整的代碼。因爲我也面臨同樣的問題。 – Ironic

回答

1

刪除/2,這就是爲什麼你的進度完成50%:

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

新代碼:

var loaded = progressEvent.loaded;