gpt4 book ai didi

javascript - 将图片从 URL 上传到 Firebase 存储

转载 作者:搜寻专家 更新时间:2023-11-01 05:10:04 24 4
gpt4 key购买 nike

我想知道如何通过 URL 而不是输入(例如)将文件上传到 Firebase 的存储中。我正在从网站上抓取图片并检索它们的 URLS。我想通过 foreach 语句传递这些 URLS 并将它们上传到 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 file = evt.target.files[0];

使用外部 URL 而不是手动上传过程?

var 文件 = "http://i.imgur.com/eECefMJ.jpg ";不起作用!

最佳答案

如果您所做的只是保存 url 路径,则无需使用 Firebase 存储。 Firebase 存储用于物理文件,而 Firebase 实时数据库可用于结构化数据。

例子。一旦您从外部站点获得图像 url,这就是您所需要的:

var externalImageUrl = 'https://foo.com/images/image.png';

然后你会把它存储在你的 json 结构化数据库中:

databaseReference.child('whatever').set(externalImageUrl);

如果你真的想直接从外部站点下载物理图像到存储,那么这将需要发出一个 http 请求并接收一个 blob 响应,或者可能需要一种服务器端语言..

Javascript 解决方案:How to save a file from a url with javascript

PHP 解决方案:Saving image from PHP URL

关于javascript - 将图片从 URL 上传到 Firebase 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37686213/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com