javascript - 返回上传到 firebase 的文件的下载 URL

标签 javascript firebase firebase-storage snapshot

有没有一种简单的方法来获取上传到 Firebase 的文件的下载 URL?

(我试过使用我的上传函数返回的快照,但找不到任何东西......)

     fileref.put(file).then(function(snapshot){
     self.addEntry(snapshot);   
     ///  return snapshot.url???
     });

最佳答案

Yamil 引用的文档 - Firebase javascript SDK file upload - 建议使用快照的 ref 属性调用 getDownloadURL 方法,该方法返回包含下载链接的 promise :

以您的代码为起点:

fileref.put(file)
   .then(snapshot => {
       return snapshot.ref.getDownloadURL();   // Will return a promise with the download link
   })

   .then(downloadURL => {
      console.log(`Successfully uploaded file and got download link - ${downloadURL}`);
      return downloadURL;
   })

   .catch(error => {
      // Use to signal error if something goes wrong.
      console.log(`Failed to upload file and get link - ${error}`);
   });

我知道这似乎是不必要的努力,您应该能够通过快照的属性获取链接,但这是 Firebase 团队的建议 - 他们可能有充分的理由这样做。

关于javascript - 返回上传到 firebase 的文件的下载 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43911080/

相关文章:

node.js - CloudFunctions :TypeError: storage. ref 中的 FirebaseStorage 不是函数

angular - 如何使用 Angularfire2 从 Firebase 存储中删除

javascript - 通过 Hook react setInterval - 无效的 hook 调用

JavaScript:谁决定客户端 API?

android - 在运行时禁用/启用 Firebase Crashlytics

firebase - 如何在 react-native 中从 Firestore 读取子集合的文档字段

ios - Firebase Storage 的 getMetaData() 是否调用后端(并因此引入较小的延迟)?

javascript - altjs react 存储连接不起作用

javascript - 如何获取鼠标经过的元素的左上角?

javascript - 从js发送到firebase时的JSON字符集问题