Para cargar la imagen en la base avanzada de la base de datos da "NAN" en el archivo de progreso de la carga

El progreso de subida de valor de cambio de estado en la base avanzada, pero se está volviendo "Nan" cuando puedo imprimir valor de progreso.

Entonces, ¿cómo podemos obtener el número en lugar de 'NAN'

function getfile() {

  const ref = firebase.storage().ref('images/');
  const file = $('#file-upload').get(0).files[0];
  const name = (+new Date()) + '-' + file.name;
  const metadata = {
    contentType: file.type
  };
  const task = ref.child(name).put(file, metadata);

  task.on('state_changed',

      function progress(snapshot) {
        var percentage =
          (snapshot.byteTransferred / snapshot.totalBytes) * 100;

        console.log(percentage);
      },

      function error(err) {

      },

      function complete() {
        console.log('Submited Sucessfully');

      }

1 Respuestas

  • Asim Hashmi
    4 de mayo de 2019

    De acuerdo a la base avanzada de documentación de la propiedad correcta es bytesTransferred para obtener

    El número total de bytes que han sido transferidos, cuando esta instantánea fue tomada.

    Mirando a su código de la razón para el error, es que hay un error en su código.

    El código está utilizando por error:

    snapshot.byteTransferred

    en lugar de la correcta:

    snapshot.bytesTransferred

    La propiedad, que a su código de acceso le da undefined que se traduce en NAN en la consola, ya que esta propiedad no está presente dentro de TaskSnapshot objeto se pasa de nuevo.