node.js - 如何将生成的 pdf 保存在项目文件夹 Node Jasper Reports 中?
问题描述
我正在使用一个名为Node Jasper的库。Pdf 也通过动态传递的参数生成。我想将该文件保存在项目文件夹中。有人可以帮助我如何实现这一目标吗?下面是截图
exports.jasperdemo = (req, res) => {
console.log(req.body)
var report = {
report: 'hw',
data: {
parameter1: req.body.parameter1,
parameter2: req.body.parameter2
},
}
var pdf = jasper.pdf(report);
res.set({
'Content-type': 'application/pdf',
'Content-Length': pdf.length
});
fs.writeFile("Test.pdf",res.body);
res.send(pdf)
}
解决方案
使用创建二进制数据的缓冲区new Buffer(pdf,"binary")
并传递它而不是 res.body 找到附加的代码
exports.jasperdemo = (req, res, next) => {
var report = {
report: 'hw',
data: {
parameter1: req.body.parameter1,
parameter2: req.body.parameter2
}
}
var pdf = jasper.pdf(report);
res.set({
'Content-type': 'application/pdf',
'Content-Length': pdf.length
});
fs.writeFile("./reports/Test.pdf",new Buffer(pdf, 'binary'), ()=>{
console.log('successful');
});
res.send(pdf)
}
推荐阅读
- html - 右侧具有最大宽度的引导图像
- javascript - 使用 slowmode 命令删除慢速模式
- php - 错误:尝试在 null 上分配属性“名称”
- php - 如何检查数组是否包含有效的 MySQL 数据类型?
- python - Python 类中的属性检查
- python - 如何使用“Jupyter Lab”来运行 streamlit Web 应用程序?
- reactjs - 如何在 Typescript 中解析局部范围变量?
- ios - 当tableview无法出列单元格时采取什么措施
- flutter - 只有 Flutter web 版本的构建不起作用
- python - 这个向量映射神经网络是否属于局部最优解?我该如何跳出来?(火炬)