2016-09-08 4 views
0

Ich habe diese Fabrik, die die Upload-Datei mit Cordova File Transfer-Plugin verwaltet:Erhalten Fortschritt Ereignisse von Cordova File Transfer von der Fabrik mit Ionic

app.factory('Camera', function($q) { 

var url = "http://www.myurl.com"; 

return { 
    uploadPicture: function (imgURI, fileName) { 
     var q = $q.defer(); 

     function win(r) { 
      q.resolve(r.response); 
     } 

     function fail(e) { 
      q.reject(e); 
     } 

     var options = { 
      fileKey: "file", 
      fileName: fileName, 
      chunkedMode: false, 
      mimeType: "image/jpg" 
     }; 

     var ft = new FileTransfer(); 
     ft.upload(imgURI, url, win, fail, options); 
     return q.promise; 
    } 
    } 
}); 

Von meinem Controller ich es wie folgt verwendet werden:

Camera.uploadPicture(imagePath, fileName).then(function (res) { 
      //Some code 

     }), function (err) { 
      //Some code 
     } 

Ich möchte das Onprogress-Ereignis von der Fabrik zurück erhalten, um den Fortschritt des Uploads in der Ansicht anzuzeigen. Gibt es einen Weg?

Antwort

0

können Sie diese Funktion benutzen, um Ihre $ cordovaFileTransfer Funktion

function (progressEvent) { 
    var perc = Math.floor(progressEvent.loaded/progressEvent.total * 100); 

    if (progressEvent.lengthComputable) {      
     $ionicLoading.show({ 
      template: 'uploading... '+perc 
     }); 

    } else { 
     loadingStatus.increment(); 
    } 

}); 
zu tun
Verwandte Themen