1

Wie lade ich die Download-Links zu gespeicherten Bildern in Firebase über eine Cloud-Funktion ab?Abrufen eines Firebase-Speicherabbildlinks über die Cloud-Funktion

Ich habe alle Arten von Variationen einschließlich der nächsten versucht:

exports.getImgs = functions.https.onRequest((req, res) => { 
    var storage = require('@google-cloud/storage')(); 

var storageRef = storage.ref; 

console.log(storageRef); 

storageRef.child('users/user1/avatar.jpg').getDownloadURL().then(function(url) { 

    }); 
}); 
+1

Mögliches Duplikat von [Download-URL aus Datei mit Cloud-Funktionen für Firebase laden] (https://stackoverflow.com/questions/42956250/get-download-url-from-file-uploaded-with-cloud-functions- for-firebase) –

Antwort

1

Es ärgerte mich, so dass ich die Lösung mit einer straight forward Erklärung für diejenigen stellen, die für sie sucht.

1. Installieren Sie GCD Lagerung der Feuerbasis Befehlszeile:

npm install --save @google-cloud/storage 

Cloud-Funktionscode:

const gcs = require('@google-cloud/storage')({keyFilename: 'service-account.json'}); 
const bucket = gcs.bucket('name-of-bucket.appspot.com'); 

const file = bucket.file('users/user1/avatar.jpg'); 
     return file.getSignedUrl({ 
      action: 'read', 
      expires: '03-09-2491' 
     }).then(signedUrls => { 
      console.log('signed URL', signedUrls[0]); // this will contain the picture's url 
    }); 

Der Name Ihres Eimer in der Firebase-Konsole unter dem Storage-Bereich.

https://console.firebase.google.com/project/_/settings/serviceaccounts/adminsdk

Und sollte lokal in Ihrem Firebase-Ordner unter dem Funktionen Ordner gespeichert werden:

Die Datei ‚Service-account.json‘ können von hier erstellt und heruntergeladen werden. (oder andere, solange Sie den Pfad im obigen Code ändern)

Das ist es.

+0

Es könnte eine gute Idee sein, den Ablauf der URL aus Sicherheitsgründen dynamisch festzulegen. – Badrush

Verwandte Themen