如何获取Firebase存储下载URL的值并将其存储在firebase存储....,

时间:2016-12-07 14:56:03

标签: javascript firebase firebase-realtime-database firebase-storage

我想获取下载URL的值并将其存储在firebase数据库中,

 var uploadTask = storageRef.child('video/' + file.name).put(file,metadata);

//检查上传进度

               uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED, // or 'state_changed'
              function(snapshot) {
                // Get task progress, including the number of bytes uploaded and the total number of bytes to be uploaded
                var progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
                console.log('Upload is ' + progress + '% done');
                switch (snapshot.state) {
                  case firebase.storage.TaskState.PAUSED: // or 'paused'
                    console.log('Upload is paused');
                    break;
                  case firebase.storage.TaskState.RUNNING: // or 'running'
                    console.log('Upload is running');
                    break;
                }
              }, function(error) {
              switch (error.code) {
                case 'storage/unauthorized':
                  // User doesn't have permission to access the object
                  break;

                case 'storage/canceled':
                  // User canceled the upload
                  break;
                case 'storage/unknown':
                  // Unknown error occurred, inspect error.serverResponse
                  break;
              }
            }, function() {

所以我想要的是获取downloadURL的值并存储它但我不是javascript专家所以我不知道如何获取其变量值

      // Upload completed successfully, now we can get the download URL
      var downloadURL = uploadTask.snapshot.downloadURL;

      console.log(downloadURL);
    });

2 个答案:

答案 0 :(得分:2)

}, function()
 {
  // Upload completed successfully, now we can get the download URL
  var downloadURL = uploadTask.snapshot.downloadURL;

   var path = storageRef.fullPath
   var name = storageRef.name
    var imagesRef = storageRef.parent;


     var ctitle=video_title.value;
     var cdescription=video_description.value;
     var clength=video_length.value;
     var c_category=video_category.value;

     var created_at=video_created_at;

     var created_path=path;

     var created_name=name;

     var created_images_ref=imagesRef;

     var create_downloadURL=downloadURL;

firebase.database().ref('Video').push({


    VTitle: ctitle,
    vDescription: cdescription,
    vLength: clength,
    VCategory: c_category,

    vCreatedAt: created_at,

    vcreated_path:created_path,

    vcreated_name:created_name,

    create_downloadURL:create_downloadURL,



    vcreated_images_ref:created_images_ref
    });



 // console.log(downloadURL);
});

答案 1 :(得分:0)

之后     var completed = function(data){ console.log(data.downloadURL); }; uploadTask.then(completed, function(error){});

添加这些行

{{1}}

我不是100%确定它会起作用,因为我没有测试过它。

我已经从中获得了相关信息 Firebase Storage Documentation