Tengo problemas para recuperar imágenes del almacenamiento de Firebase. Actualmente estoy integrando el SDK de Firebase en mi proyecto nativo de Expo React. La versión sdk de Firebase que estoy usando es 9.6.1. Puedo usar con éxito Firebase AUTH y firebase firestore (recuperación y actualización de datos).
Cuando trato de usar el almacenamiento de Firebase, aparece este extraño error:
[Rechazo de promesa no controlado: FirebaseError: Firebase Storage: para usar ref(service, url), el primer argumento debe ser una instancia de almacenamiento. (almacenamiento/argumento no válido)]
Aquí es donde inicializo mi aplicación Firebase:
import { initializeApp } from "firebase/app"; export const firebaseConfig = { apiKey: "apices", authDomain: "xxxxx.firebaseapp.com", databaseURL: "https://xxxxx-default-rtdb.europe-west1.firebasedatabase.app", projectId: "xxxxx", storageBucket: "xxxxx.appspot.com", messagingSenderId: "333333333", appId: "yyyyyyyyyyy", measurementId: "fffffff", }; const app = initializeApp(firebaseConfig); export { app };Luego haciendo un simple:
const imageRef = ref(getStorage(), imageUrl);me da error Y sí, imageUrl es una gs://projectid.appspot.com/folder1/image1.jpg url válida.
¿Estoy haciendo algo mal?
¿Puede intentar inicializar el almacenamiento en el mismo archivo donde inicializó Firebase y luego importarlo donde sea necesario? Es posible que getStorage() actualmente se invoque antes de que se inicialice Firebase:
const app = initializeApp(firebaseConfig); const storage = getStorage(app)l export { app, storage }; // import { storage } from "../firebase_file.js" const imageRef = ref(storage, imageUrl);