remove - firebase update child
Carga de almacenamiento Firebase nativa de Reacta usando la llamada putString (1)
Acabo de probar reaccionar-native-fetch-blob como comentó Ven anteriormente, y pude hacerlo funcionar, intente utilizar este fragmento del archivo de índice en el ejemplo:
1) Antes de la declaración de clase:
import RNFetchBlob from ''react-native-fetch-blob'';
const Blob = RNFetchBlob.polyfill.Blob;
window.XMLHttpRequest = RNFetchBlob.polyfill.XMLHttpRequest;
window.Blob = Blob;
2) Dentro del método de almacenamiento:
let filePath = ''YOUR/FILE/PATH'';
let fileName = ''file_name.jpg'';
let rnfbURI = RNFetchBlob.wrap(filePath);
// create Blob from file path
Blob
.build(rnfbURI, { type : ''image/png;''})
.then((blob) => {
// upload image using Firebase SDK
firebase.storage()
.ref(''images'')
.child(fileName)
.put(blob, { contentType : ''image/jpg'' })
.then((snapshot) => {
console.log(''Uploaded'', snapshot.totalBytes, ''bytes.'');
console.log(snapshot.metadata);
var url = snapshot.metadata.downloadURLs[0];
console.log(''File available at'', url);
}).catch(function(error) {
console.error(''Upload failed:'', error);
});
Estoy configurando este hilo para aclarar, si el método de almacenamiento de firebase putString funciona o no en React-native.
De lo que he buscado, actualmente no hay forma de subir archivos o tipos de blobs a Firebase Storage usando el método put .
React Native no admite los tipos Archivo y Blob, por lo que las cargas de Firebase Storage no funcionarán en este entorno. Sin embargo, las descargas de archivos funcionan.
FUENTE: The Firebase Blog
Por lo tanto, esta llamada
firebase.storage().ref()
.child(userID)
.put(new File([''this is a small amount of data''], ''sample-text.txt'', { type: "text/plain" }), { type: "text/plain" })
.then(p => {console.log(p)})
.catch(p => {console.log(p)})
no funciona y termina con una respuesta
código: mensaje de "almacenamiento / desconocido": "Almacenamiento de Firebase: se ha producido un error desconocido, compruebe la carga de error para la respuesta del servidor". nombre: "FirebaseError" serverResponse : "El cuerpo de varias partes no contiene 2 o 3 partes " .
Sin embargo, hay otra opción para subir datos a Firebase Storage, utilizando el método de almacenamiento de Firebase putString. Que funciona con cadena simple Pero incluso si uso este método para subirlo. Recibo la misma respuesta del servidor que antes.
firebase.storage()
.ref()
.child(userID)
.putString(''string'')
.then(p => {console.log(p)})
.catch(p => {console.log(p)});
Por lo que he aprendido de esta respuesta . El método putString debería funcionar.
¿Qué estoy haciendo mal? El código funciona bien para mí en React. Cada vez que pego a React-native. Deja de funcionar.