[英]How to decode Base64 string and upload as image on to amazon s3 in nodejs?
我试图这样,它每次都产生一个具有相同名称的图像,我想要动态名称,并且必须将其上传到Amazon s3。 请帮忙
let base64String = req.body.imgBase64;
let base64Image = base64String.split(';base64,').pop();
fs.writeFile('image.jpg', base64Image, { encoding: 'base64' }, function(
err
) {
console.log('File created');
res.json('fire created');
});
该代码段将始终将图像命名为“ image.jpg”,因为您将其作为常量传递给fs.writeFile()
第一个参数。 要动态命名文件,您需要在循环中包含一个变量,该变量在每次迭代时都会更改。 例如,您可以使用整数:
var i;
var count = 0;
for (i = 0; i < numfiles; i++) {
let base64String = req.body.imgBase64;
let base64Image = base64String.split(';base64,').pop();
var countString = String(count)
fs.writeFile('image' + countString + '.jpg', base64Image, { encoding: 'base64' }, function(
err
) {
console.log('File ' + countString + ' created');
res.json('File ' + countString + ' created');
});
count++;
}
至于上传到S3,有许多在线资源可以指导您使用node.js上传到S3。
我建议您在图像中添加时间戳记/日期戳以使其变得简单。 至于亚马逊问题,我建议作为一个单独的问题进行询问,因为那是完全不同的。
let base64String = req.body.imgBase64;
let base64Image = base64String.split(';base64,').pop();
fs.writeFile(`image${Date.now()}.jpg`, base64Image, { encoding: 'base64' }, function(
err
) {
console.log('File created');
res.json('fire created');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.