Node.JS - 使用Buffer在base64中编码图像

Jon*_*Lim 21 base64 json node.js

我正在尝试使用Node.JS中的base64对图像进行编码,以作为附件传递给PostageApp API.我以为我有它工作,但它附加一个1K文件,这不是我想要的.

这是我的代码:

 var base64data;

 fs.readFile(attachment, function(err, data) {
   base64data = new Buffer(data).toString('base64');
 });
Run Code Online (Sandbox Code Playgroud)

这是我正在进行的API调用的一部分:

 attachments: {
   "attachment.txt" : {
     content_type: "application/octet-stream",
     content: base64data
   },
 }
Run Code Online (Sandbox Code Playgroud)

我有点迷失,对Node不太好,但我认为它会起作用.任何帮助,将不胜感激!

the*_*ejh 36

fs.readFile(attachment, function(err, data) {
   var base64data = new Buffer(data).toString('base64');
   [your API call here]
});
Run Code Online (Sandbox Code Playgroud)

结果存在需要一些时间,所以当你获得数据时,外部范围的执行已经结束.


fun*_*oid 11

只需指定"base64"作为编码.根据文档:

如果未指定编码,则返回原始缓冲区.

fs.readFile(attachment, {encoding: 'base64'}, function(err, base64data) {
   [your API call here]
});
Run Code Online (Sandbox Code Playgroud)