1

Cloud 기능을 통해 Firebase에 저장된 이미지에 대한 다운로드 링크를 검색하려면 어떻게합니까?Cloud 기능을 통해 Firebase 저장 이미지 링크 가져 오기

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

[Firebase 용 Cloud Functions로 업로드 한 파일에서 다운로드 URL 가져 오기] (https://stackoverflow.com/questions/42956250/get-download-url-from-file-uploaded-with-cloud-functions- for firebase) –

답변

1

그것은 나를 짜증, 그래서 그것을 찾고있는 사람들에게 정직 설명과 함께 해결책을 넣어 것입니다 :

나는 다음 하나를 포함하여 변화의 모든 종류의 시도했습니다.

1의 중포 기지 명령 줄을 사용하여 GCD 스토리지를 설치

npm install --save @google-cloud/storage 

클라우드 기능 코드 : 버킷의 이름이 저장 섹션에서 중포 기지 콘솔에서 찾을 수 있습니다

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 
    }); 

합니다.

'서비스 account.json'파일

생성 및 다운로드 여기에서 할 수 있습니다

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

을 그리고 기능 폴더 아래에 당신의 중포 기지 폴더에 로컬로 저장해야합니다. (또는 위 코드의 경로를 변경하는 한 다른 것)

그게 전부입니다.

+0

보안상의 이유로 URL의 만료를 동적으로 설정하는 것이 좋습니다. – Badrush