Quiero subir el archivo en mi almacenamiento de Firebase y quiero obtener el porcentaje cargado y al final, la URL de descarga.
He probado todo lo que puedo, pero tengo :
TypeError: No se puede leer la propiedad 'entonces' de undefined
Esta es mi función :
$scope.createCatalog = function(catalog,uid,setColor,setBg){
console.log(catalog);
StorageService.put(catalogs,uid,medias,catalog.logo).then(function(success){
console.log(success);
})
}
Este es mi código en mi servicio :
put : function(name,userID,item,data){
var itemRef = firebase.storage().ref().child("users").child(userID).child(name).child(item);
var itemFile = $firebaseStorage(itemRef);
var uploadTask = itemFile.$put(data);
uploadTask.$progress(function(snapshot) {
var percentUploaded = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
return percentUploaded
});
uploadTask.$complete(function(snapshot) {
return snapshot.downloadURL
});
}
Gracias a todos !
0
PositivProd
7 nov. 2019 a las 12:52
1 respuesta
Intenta devolver una promesa:
put : function(name,userID,item,data){
var deferred = $q.defer();
var itemRef = firebase.storage().ref().child("users").child(userID).child(name).child(item);
var itemFile = $firebaseStorage(itemRef);
var uploadTask = itemFile.$put(data);
uploadTask.$progress(function(snapshot) {
var percentUploaded = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
deferred.notify(percentUploaded);
});
uploadTask.$complete(function(snapshot) {
deferred.resolve(snapshot.downloadURL);
});
return deferred.promise;
}
Para obtener más información, consulte
0
georgeawg
7 nov. 2019 a las 11:07
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.