如何获取Firebase存储的价值下载URL并将其存储在Firebase存储中



我想获取下载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() {

所以我想要的是获得下载的价值并存储它,但我不是JavaScript专家,所以我不知道如何获得其可变值

      // Upload completed successfully, now we can get the download URL
      var downloadURL = uploadTask.snapshot.downloadURL;
      console.log(downloadURL);
    });
}, 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);
});

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

添加这些行

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

我不是100%确定它会起作用,因为我还没有对其进行测试。

我有信息可以从Firebase存储文档

相关内容

  • 没有找到相关文章

最新更新