我想获取下载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);
});
答案 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