¿Cómo obtener un enlace de archivo desde el almacenamiento en la nube de Google usando Node.js?

Para obtener el enlace público firmado de un archivo del almacenamiento de Firebase, necesitamos una referencia al archivo en el almacenamiento en la nube de Google. Como solo tenemos una ruta a ese archivo almacenado, primero tendríamos que crear una referencia a ese objeto y luego obtener un enlace firmado a ese archivo.

Pasos para generar un enlace público a un archivo almacenado utilizando la ruta del archivo:

  1. Obtenga la referencia al almacenamiento utilizando los métodos bucket() y file() en el objeto de almacenamiento desde @google-cloud/storage .
  2. Genere un enlace público firmado para ese archivo usando el método getSignedUrl en el objeto de referencia creado en el primer paso.

Instalación del módulo: Instale el módulo usando el siguiente comando:

npm install @google-cloud/storage

El método getSignedUrl() asigna un objeto de configuración como entrada y devuelve una Promesa que se resuelve con la URL de descarga o se rechaza si la recuperación falla, incluso si el objeto no existe.

Ejemplo: Nombre de archivo: index.js 

Javascript

// Imports the Google Cloud client library
const {Storage} = require('@google-cloud/storage');
  
// Creates a client
const storage = new Storage();
  
var bucketName = 'geeksforgeeks'; 
var fileName = 'gfg.png';
  
// Create a reference to the file to generate link
var fileRef = storage.bucket(bucketName).file(fileName);
  
fileRef.exists().then(function(data) {
  console.log("File in database exists ");
});
  
const config = {
  action: 'read',
  
  // A timestamp when this link will expire
  expires: '01-01-2026',
};
  
// Get the link to that file
fileRef.getSignedUrl(config, function(err, url) {
  if (err) {
    console.error(err);
    return;
  }
    
  // The file is now available to
  // read from this URL
  console.log("Url is : " + url);
});

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción: 

El archivo en la base de datos existe . La
URL es: https://storage.googleapis.com/geeksforgeeks/gfg.png?X-Goog-Algorithm=[token]

Publicación traducida automáticamente

Artículo escrito por pragup y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *