AddThis Social Bookmark Button

En un articulo anterior vimos como utilizar la funcion para descargar archivos,  fileTransfer(),  ahora que tal si queremos saber cuanto vamos en la descarga ?

Oficialmente segun la documentacion se dice que va asi:

fileTransfer.onprogress = function(progressEvent) {
    if (progressEvent.lengthComputable) {
      loadingStatus.setPercentage(progressEvent.loaded / progressEvent.total);
    } else {
      loadingStatus.increment();
    }
};
fileTransfer.download(...); // or fileTransfer.upload(...);


Pero que creen?, almenos a mi no me funciono en lo absoluto!!!, y que hacer en estos casos... mm.. pues vamos a jugar con el codigo !!!

Tenemos que al definir un nuevo fileTransfer tenemos que crear el evento onprogress

ft = new fileTransfer();

tf.onprogress() =  function (evento){

//Hasta aqui ya tenemos la funcion inicializada, automaticamente tenemos los valores del archivo a descargar.

//evento.total  y evento.loaded

//Teniendo estos 2, podemos hacer la regla de 3

var total =  (evento.loaded /  evento.total  )  *100;   //Si no va asi corregidme pues

//como esto se repite indefinidamente hasta el 100% de la descarga, simplemente podemos agregarlo a un div o un algo donde querramos aparesca todo el evento;

}

 

Ejemplo completo:

fileTransfer.onprogress = function(progressEvent){
                var total = progressEvent.total;
                var avanc = progressEvent.loaded;

                var perce = Math.round( (avanc / total) * 100);
                $("div").html("Descargando: "+perce+"%");
            }
           
            fileTransfer.download(item, destino, exito, fracaso);
             

No olviden que si van a lanzarlo como metodo al abrir la app tiene que ser con la instruccion de cordova

document.addListener("deviceready", funcion_inicial, true);

problem ?

Leave your comments

0
  • No comments found