繁体   English   中英

Firebase getDownloadURL 错误“用户取消了上传/下载”

[英]Firebase getDownloadURL error "User canceled the upload/download"

我有以下代码来获取存储在 firebase 存储中的图像 url。

const firebase = require('firebase');
require('firebase/storage');

firebase.initializeApp(conf);

const firebaseRef = firebase.storage().ref(path);

firebaseRef.getStorage().getDownloadURL().then(url => {
    console.log(url);
}).catch(function (error) {
    console.log(error);
});

当我尝试运行它(使用正确的路径)时,它总是以错误结束:

FirebaseStorageError {
  code_: 'storage/canceled',
  message_: 'Firebase Storage: User canceled the upload/download.',
  serverResponse_: null,
  name_: 'FirebaseError'
}

我有这个存储规则:

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write
      // : if request.auth != null;
    }
  }
}

当我尝试使用 nodejs api 上传或删除某些文件时,效果很好,但在获取一个文件的 url 时,它总是返回相同的错误。

我试图找到可能导致此问题的原因,但我找不到任何东西: https://firebase.google.com/docs/storage/web/handle-errors

当然,作为用户,我不会取消上传/下载阶段。

先感谢您。

我很确定问题出在调用getStorage()上,它会返回存储桶的根,您无法在其上生成下载 URL。

如果这是原因,只需从链中删除该调用即可。 所以你最终会得到类似的东西:

const firebaseRef = firebase.storage().ref(path);

firebaseRef.getDownloadURL().then(url => {
    console.log(url);
}).catch(function (error) {
    console.log(error);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM