2017-09-03 84 views
0

我正在学习ExpressJS,并且正在尝试通过Node将图像上传到Firebase存储。如何将图像从Expressjs更新到Google云端存储/ Firebase存储

我收到错误:firebase.storage().ref() is not a function,并搜索它我发现这些Topic,并发现firebase存储不支持的节点。

现在,这是问题:我有一个文件对象收到的HTML输入文件,但我根本不知道如何上传到谷歌云存储。我如何做到这一点?

我发现的解决方案都使用文件路径名来上传,但我喜欢上传文件对象(文件)。

我的代码:

req.pipe(req.busboy); 
req.busboy.on('file', function (fieldname, file, filename) { 
    console.log("Uploading: " + filename); 

    // Trying GCS 
    var remoteReadStream = bucket.file('giraffe.jpg').createReadStream(); 
    console.log(remoteReadStream); 
    //var localWriteStream = 
    fs.createWriteStream('/photos/zoo/giraffe.jpg'); 
//remoteReadStream.pipe(localWriteStream); 

// Trying Firebase 
//storageRef.put(file).then(function(snapshot) { 
// console.log('Uploaded a blob or file!'); 
//}); 
}); 

由于到现在为止。

+0

你可以在这里找到选项:https://cloud.google.com/storage/docs/json_api/v1/how-tos/upload – voscausa

+1

您可以使用Google Cloud Storage节点SDK。 https://github.com/GoogleCloudPlatform/google-cloud-node#cloud-storage-ga –

回答

0

我在发布此主题之前已看到这些文档。我决定测试通过文件路径名称上传基本图像,如: home/pedro/Downloads/outros icones/1532.png 使用此code,我收到错误:无法验证错误,但我下载了OAuth2.0的keyfile.json并对其进行了配置。

var x = '/home/pedro/Downloads/outros icones/1532.png' 
var localReadStream = fs.createReadStream(x); 
var remoteWriteStream = bucket.file('zebra.jpg').createWriteStream(); 
localReadStream.pipe(remoteWriteStream); 

可变bucket是可配置铲斗引用(开头的所有这些单证的)和fs是需要FS的。

我现在很迷茫......

相关问题