Je suis en train d'utiliser react-native-firebase pour travailler avec notre compte Firebase pour l'authentification, firestore et le stockage. En essayant de télécharger une photo dans le stockage, une erreur inconnue se produit. Voici le code testé :
_pickImage = async () => {
await this.getCameraRollPermission()
let result = await ImagePicker.launchImageLibraryAsync({
allowsEditing: true,
aspect: [4, 3],
});
console.log(result);
if (!result.cancelled) {
// this.setState({ photoURL: result.uri });
this._handlePhotoChoice(result)
}
};
_handlePhotoChoice = async pickerResult => {
let userId = this.state.userId
firebase
.storage()
.ref('photos/profile_' + userId + '.jpg')
.putFile(pickerResult.uri)
.then(uploadedFile => {
console.log("Photo de profil Firebase téléchargée avec succès")
})
.catch(error => {
console.log("Échec du téléchargement du profil Firebase : " + error)
})
}
En testant dans le simulateur iOS et en utilisant le débogueur pour détecter les erreurs, je reçois simplement cette erreur :
"Erreur : Une erreur inconnue s'est produite.
à createErrorFromErrorData (blob:http://localhost:19001/e9d43477-4e42-4f7a-b494-16485def4c28:2371:17)
à blob:http://localhost:19001/e9d43477-4e42-4f7a-b494-16485def4c28:2323:27
à MessageQueue.__invokeCallback (blob:http://localhost:19001/e9d43477-4e42-4f7a-b494-16485def4c28:2765:18)
à blob:http://localhost:19001/e9d43477-4e42-4f7a-b494-16485def4c28:2510:18
à MessageQueue.__guardSafe (blob:http://localhost:19001/e9d43477-4e42-4f7a-b494-16485def4c28:2678:11)
à MessageQueue.invokeCallbackAndReturnFlushedQueue (blob:http://localhost:19001/e9d43477-4e42-4f7a-b494-16485def4c28:2509:14)
à http://localhost:19001/debugger-ui/debuggerWorker.js:70:58"
MISE À JOUR :
Un fichier est téléchargé dans le bucket de stockage, mais ce fichier n'est pas la photo JPEG, mais est en réalité du contenu JSON sur le fichier :
{"contentType":"image\/jpeg","name":"photos\/profile_XPIO2lHjlYbdLPchACZHBsmY9Jr1.jpg"}
De cette façon, un fichier JSON se retrouve dans le bucket au lieu de la photo réelle, ce qui provoque ensuite l'erreur.
Il semble que ce problème soit suivi à plusieurs reprises, mais n'est pas résolu :
https://github.com/invertase/react-native-firebase/issues/1177
https://github.com/invertase/react-native-firebase/issues/302