Cómo cargar archivos de documentos (pdf, doc) a Firebase en React Native Expo
Estoy tratando de subir archivos doc desde Expo CLI a mi almacenamiento de Firebase en React Native, pero me da un error de red.
Utilizo un selector de documentos para obtener la URI del archivo desde el almacenamiento y luego utilizo esta función para subirlo a mi almacenamiento de Firebase.
const uploadDocuments = () => {
let receivedDocs = [];
document.map(async (item, index) => {
var docName = user.uid + Math.floor(Math.random() * 127212);
const response = await fetch(item.uri);
const blob = await response.blob();
var ref = firebase.storage().ref("postDocs/documents/" + docName);
ref
.put(blob)
.then((res) => {
ref
.getDownloadURL()
.then((url) => {
receivedDocs.push(url);
})
.catch((e) => {
alert(e.message);
});
})
.catch((e) => {
alert(e.message);
});
});
};
También uso esta función para subir imágenes a Firebase desde el selector de imágenes y funciona bien allí, pero cuando uso esta misma función para la URI del archivo doc que obtengo del selector de documentos para subirlo, me da un error de red.
Aquí está el error que obtengo.
[Unhandled promise rejection: TypeError: Error de solicitud de red]
en nodemodules\whatwg-fetch\dist\fetch.umd.js:535:17 en setTimeout$argument0
en nodemodules\react-native\Libraries\Core\Timers\JSTimers.js:130:14 en _callTimer
en nodemodules\react-native\Libraries\Core\Timers\JSTimers.js:383:16 in callTimers
en nodemodules\react-native\Libraries\BatchedBridge\MessageQueue.js:416:4 in _callFunction
en nodemodules\react-native\Libraries\BatchedBridge\MessageQueue.js:109:6 in _guard$argument0
en nodemodules\react-native\Libraries\BatchedBridge\MessageQueue.js:364:10 in _guard
en nodemodules\react-native\Libraries\BatchedBridge\MessageQueue.js:108:4 in callFunctionReturnFlushedQueue
davy.ai
Parece que hay un problema con la solicitud de red al intentar cargar archivos doc en Firebase Storage utilizando la función
uploadDocuments()
. El mensaje de error sugiere que puede haber un rechazo de promesa no controlado debido a una solicitud de red fallida.Para investigar más a fondo este problema, puedes probar los siguientes pasos:
Siguiendo estos pasos, deberías poder identificar la causa raíz del error de red y resolverlo en consecuencia.