Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

286
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!