Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firebase存储getDownloadUrl不是一个函数_Javascript_Firebase_Vuejs2_Firebase Storage - Fatal编程技术网

Javascript Firebase存储getDownloadUrl不是一个函数

Javascript Firebase存储getDownloadUrl不是一个函数,javascript,firebase,vuejs2,firebase-storage,Javascript,Firebase,Vuejs2,Firebase Storage,我正在使用firebase开发一个vue应用程序,我提到了这些问题,但还没有找到任何解决问题的方法。 我要做的是将下载URL存储到我的事件数据库中。 我的代码: 我从第页获取了代码(参见注册事件处理程序的示例)。 我可能做错了什么?我建议您使用返回承诺的方法来链接异步任务返回的不同承诺(即getDownloadUrl()和set()) 因此,以下几点可以起到作用: var stRef = st.ref(`event-photos/${eventId}`); // st is firebase

我正在使用firebase开发一个vue应用程序,我提到了这些问题,但还没有找到任何解决问题的方法。 我要做的是将下载URL存储到我的事件数据库中。 我的代码:

我从第页获取了代码(参见注册事件处理程序的示例)。 我可能做错了什么?

我建议您使用返回承诺的方法来链接异步任务返回的不同承诺(即
getDownloadUrl()
set()

因此,以下几点可以起到作用:

  var stRef = st.ref(`event-photos/${eventId}`); // st is firebase.storage()
  var upTask = stRef.put(this.fileBlob);

  upTask
    .then(snapshot => {
      return snapshot.ref.getDownloadUrl();
    })
    .then(url => {
      return db
        .collection('events')
        .doc(eventId)
        .set({
          image_url: url
        });
    })
    .catch(error => {
      alert(error.message);
    });
我变了

var stRef = st.ref(`event-photos/${eventId}`)
var upTask = stRef.put(this.fileBlob)


我正在用这个函数获取下载的URL。因此,我想我们不能将路径放在ref中,而必须使用child。

在警报“snapshot.ref.getDownloadUrl不是一个函数”中仍然会出现相同的错误,这看起来很奇怪,
firebase.SDK\u版本的值是多少?根据规范,这段代码应该运行良好。如果没有,那么提交一份bug报告是值得的。
var stRef = st.ref(`event-photos/${eventId}`)
var upTask = stRef.put(this.fileBlob)
var upTask = st.ref().child(`event-photos/${eventId}`).put(this.fileBlob)