我正在尝试使用Node.JS中的base64对图像进行编码,以作为附件传递给PostageApp API。我以为我有它工作,但它附加了一个1K文件,这不是我想要的。
这是我的代码:
var base64data;
fs.readFile(attachment, function(err, data) {
base64data = new Buffer(data).toString('base64');
});
这是我正在进行的API调用的一部分:
attachments: {
"attachment.txt" : {
content_type: "application/octet-stream",
content: base64data
},
}
我有点迷失,对Node不太好,但我认为它会起作用。任何帮助将不胜感激!
答案 0 :(得分:36)
fs.readFile(attachment, function(err, data) {
var base64data = new Buffer(data).toString('base64');
[your API call here]
});
结果存在需要一些时间,因此当您获得数据时,外部范围的执行已经结束。
答案 1 :(得分:11)
只需指定" base64"作为编码。 Per the docs:
如果未指定编码,则返回原始缓冲区。
fs.readFile(attachment, {encoding: 'base64'}, function(err, base64data) {
[your API call here]
});