Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

285
Vistas
No se puede obtener la base de fuego de almacenamiento de imágenes de URL [Error al crear el token de acceso]

ingrese la descripción de la imagen aquí

Intenté subir la imagen a firebase y ahora no puedo obtener la URL de la imagen.

Subí la imagen con éxito y no puedo obtener el enlace URL de la imagen

 const firebaseAdmin = require('firebase-admin'); const { v4: uuidv4 } = require('uuid'); // change the path of json file const serviceAccount = require('./nodejs-be-upload-image-firebase-adminsdk-vzkga-bd1696a09f.json'); const admin = firebaseAdmin.initializeApp({ credential: firebaseAdmin.credential.cert(serviceAccount), }); const storageRef = admin.storage().bucket('gs://nodejs-be-upload-image.appspot.com'); async function uploadFile(path, filename) { // Upload the File const storage = await storageRef.upload(path, { public: true, destination: `/uploads/${filename}`, metadata: { firebaseStorageDownloadTokens: uuidv4(), cacheControl: 'public, max-age=315360000', contentType: 'image/jpeg', }, }); //I want to get the URL of the image here return storage[0]; // return storage[0].metadata.mediaLink; } module.exports = { uploadFile };
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El SDK de administración de Firebase envuelve el SDK de Google Cloud Storage, por lo que sus API son las mismas. El SDK de Cloud Storage no ofrece direcciones URL de descarga que sean exactamente iguales a las proporcionadas por los SDK móviles y web.

Al configurar la imagen o el archivo como público ( public: true ), no podrá configurar metadatos personalizados de firebaseStorageDownloadTokens .


Hay algunas formas de obtener la URL pública de un archivo cargado.

Usando getSignedUrl :

 const admin = firebaseAdmin.initializeApp({ credential: firebaseAdmin.credential.cert({ // serviceAccount }), }); const gs = 'gs://' const bucketName = '<project-id>.appspot.com'; const storageRef = admin.storage().bucket(`${gs}${bucketName}`); async function uploadFile(path, filename) { // Upload the File const destination = `uploads/${filename}`; const storage = await storageRef.upload(path, { public: true, destination: destination, }) .then(() => { const file = storageRef.file(destination); return file.getSignedUrl({ action: 'read', expires: '03-25-2023' }).then(signedUrls => { // signedUrls[0] contains the file's public URL console.log(signedUrls[0]); }); }); }

Usando el enlace de almacenamiento en la nube:

 async function uploadFile(path, filename) { // Upload the File const destination = `uploads/${filename}`; const storage = await storageRef.upload(path, { public: true, destination: destination, }) .then(() => { console.log(`https://storage.googleapis.com/${bucketName}/${destination}`); }); }

Si realmente desea usar customMetadata que tiene firebaseStorageDownloadTokens , le sugiero que use los SDK web en su lugar. Aquí está la documentación para empezar:

  • Comience con Cloud Storage en la Web .
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda