【发布时间】:2020-04-01 01:29:03
【问题描述】:
我想知道如何通过 URL 而不是输入(例如)将文件上传到 Firebase 的存储中。我正在从网站上抓取图像并检索它们的 URL。我想通过 foreach 语句传递这些 URL 并将它们上传到 Firebase 的存储中。现在,我让 firebase upload-via-input 使用此代码:
var auth = firebase.auth();
var storageRef = firebase.storage().ref();
function handleFileSelect(evt) {
evt.stopPropagation();
evt.preventDefault();
var file = evt.target.files[0];
var metadata = {
'contentType': file.type
};
// Push to child path.
var uploadTask = storageRef.child('images/' + file.name).put(file, metadata);
// Listen for errors and completion of the upload.
// [START oncomplete]
uploadTask.on('state_changed', null, function(error) {
// [START onfailure]
console.error('Upload failed:', error);
// [END onfailure]
}, function() {
console.log('Uploaded',uploadTask.snapshot.totalBytes,'bytes.');
console.log(uploadTask.snapshot.metadata);
var url = uploadTask.snapshot.metadata.downloadURLs[0];
console.log('File available at', url);
// [START_EXCLUDE]
document.getElementById('linkbox').innerHTML = '<a href="' + url + '">Click For File</a>';}
问我该换什么
var 文件 = evt.target.files[0];
使用外部 URL 代替手动上传过程?
var file = "http://i.imgur.com/eECefMJ.jpg";不工作!
【问题讨论】:
-
没有必要使用存储来存储它们(也许不可能)。链接是字符串,像存储所有其他数据一样将它们存储在数据库中。
标签: javascript firebase firebase-storage