Je veux télécharger le fichier dans mon stockage Firebase et je veux obtenir le pourcentage téléchargé et à la fin, l'URL de téléchargement.
J'ai tout essayé mais j'ai:
TypeError: Impossible de lire la propriété «alors» de non défini
C'est ma fonction:
$scope.createCatalog = function(catalog,uid,setColor,setBg){
console.log(catalog);
StorageService.put(catalogs,uid,medias,catalog.logo).then(function(success){
console.log(success);
})
}
Voici mon code à mon service:
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
});
}
Merci à tous !
0
PositivProd
7 nov. 2019 à 12:52
1 réponse
Essayez de renvoyer une promesse:
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;
}
Pour plus d'informations, voir
0
georgeawg
7 nov. 2019 à 11:07
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.