¿Cómo cargar una imagen en Firebase versión 9?
Estoy intentando actualizar el código de la versión 8 a la versión 9, pero la imagen que se sube produce un error al cargar la vista previa…
Aquí está el código:
async storeImage(img: { uri: string; base64: string }, userId: string) {
try {
let imageUrl = null;
const imageName = img.uri.substring(img.uri.length - 40);
const imageRef = ref(this.storage, `profile-images/${userId}/${imageName}`);
uploadString(imageRef, img.base64, 'base64', { contentType: "image/jpg" }).then((snapshot) => {
console.log("image stored", snapshot);
})
getDownloadURL(ref(this.storage, `profile-images/${userId}/${imageName}`))
.then(url => {
const xhr = new XMLHttpRequest();
xhr.responseType = 'blob';
xhr.onload = (event) => {
const blob = xhr.response;
};
xhr.open('GET', url);
xhr.send();
console.log('getDownloadURL', url);
imageUrl = url;
})
return imageUrl
} catch (error) {
console.log(error);
}
}
}
La cadena uri es la dirección en el dispositivo, la base64 es
/9j/4AAQSkZJRgABAQAASABIAAD/4QBYRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAyKADAAQAAAABAAAAhAAAAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZ…
Este es el enlace para el avance del almacenamiento en Firebase.
Este es el enlace descargado, que debería ser igual al anterior.
Intenté también en uploadString usar base64url pero nada.
Cualquier tipo de ayuda sería apreciada.
Gracias de antemano.
davy.ai
Parece que tiene problemas para actualizar el código de la versión 8 a la versión 9 y la imagen que se carga produce un
Error al cargar vista previa
. Parece que está utilizando la cadenauri
como dirección en el dispositivo y la cadenabase64
como los datos de la imagen. También ha intentado utilizarbase64url
en el métodouploadString
, pero no ha tenido éxito.Sería útil ver el mensaje de error exacto que recibe al intentar cargar la imagen. Además, sería útil ver el código de la versión 8 que está tratando de actualizar. Esto nos permitiría comparar las dos versiones e identificar posibles problemas.
Si pudiera proporcionarnos esta información, podríamos brindarle una asistencia más específica.