栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用Node.js将base64编码的图像(字符串)直接上传到Google Cloud Storage存储桶?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用Node.js将base64编码的图像(字符串)直接上传到Google Cloud Storage存储桶?

我认为,解决方案是使用

file.createWriteStream
bucket.upload
功能包装在Google Cloud Node
SDK中的功能。

我对流媒体的经验很少,所以如果不能立即使用,请尝试忍受。

首先,我们需要获取base64数据并将其放入流中。为此,我们将包括该

stream
库,从base64数据创建一个缓冲区,然后将该缓冲区添加到流的末尾。

var stream = require('stream');var bufferStream = new stream.PassThrough();bufferStream.end(Buffer.from(req.body.base64Image, 'base64'));

有关解码base64和创建流的更多信息
然后,我们将把流传输到

file.createWriteStream
函数创建的写入流中。

var gcs = require('@google-cloud/storage')({  projectId: 'grape-spaceship-123',  keyFilename: '/path/to/keyfile.json'});//Define bucket.var myBucket = gcs.bucket('my-bucket');//Define file & file name.var file = myBucket.file('my-file.jpg');//Pipe the 'bufferStream' into a 'file.createWriteStream' method.bufferStream.pipe(file.createWriteStream({    metadata: {      contentType: 'image/jpeg',      metadata: {        custom: 'metadata'      }    },    public: true,    validation: "md5"  }))  .on('error', function(err) {})  .on('finish', function() {    // The file upload is complete.  });

信息上

file.createWriteStream
,文件文档,
bucket.upload
以及
bucket.upload
在Node
SDK方法的代码。

因此,上述代码的工作方式是定义要放入文件的存储桶,然后定义文件和文件名。我们未在此处设置上传选项。然后,

bufferStream
我们将刚刚创建的变量通过管道传递到
file.createWriteStream
我们之前讨论的方法中。在这些选项中,我们定义元数据和您要实现的其他选项。直接查看Github上的Node代码非常有帮助,以了解它们如何分解
bucket.upload
功能,并建议您也这样做。最后,我们会附上几个事件,说明上传何时完成以及何时出错。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/469123.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号