我终于得到了至少生成文件的 jsreportonline。这是我的代码:
request.post({
url: 'https://xxxx.jsreportonline.net/api/report',
json: true,
headers: {
"Content-Type": "application/json",
"Authorization" : "Basic "+new Buffer(username:pwd).toString('base64')
},
body: {
"template" : {'shortid" : xxxxx},
"data" : xxxx,
}
}, function(err, res, body) {
**** HERE IS THE PROBLEM ****
});
我不知道如何将存储在变量“body”中的 pdf 输出写入文件。我试过了:
var pbs = fs.createWriteStream('./report.pdf');
pbs.write(body);
pbs.end();
我试过了:
var pbs = fs.createWriteStream('./report.pdf', {defaultEncoding: 'binary'});
...但PDF文件永远不会正确显示。我知道代码有效,因为我可以在通话中设置一个选项:
"options" : {
"reports" : {"save" : true}
}
...并且报告保存到我的 jsreportonline 帐户并呈现良好。
谢谢你的帮助。