Javascript 节点json2xls可下载文件
我有以下(简单)节点模块:Javascript 节点json2xls可下载文件,javascript,node.js,json2xls,Javascript,Node.js,Json2xls,我有以下(简单)节点模块: var json2xls = require('json2xls'); var fs = require('fs'); module.exports = function (router, mongoose) { router.route('/client/toExcel') .post(function (req, res) { var obj = req.body.data; var xls
var json2xls = require('json2xls');
var fs = require('fs');
module.exports = function (router, mongoose) {
router.route('/client/toExcel')
.post(function (req, res) {
var obj = req.body.data;
var xls = json2xls(obj);
fs.writeFileSync('data.xlsx', xls, 'binary');
res.download('data.xlsx');
});
return router;
};
现在,当我从我的前端调用它时。节点服务器创建文件,但会将文件发回,但会将其作为文本而不是可下载文件。这是我的控制台上的屏幕截图:
谁能告诉我我做错了什么
以下是我请求的图像:
您是否尝试过像这样手动告诉express文件名
res.download('/data.xlsx', 'data.xlsx');
我以前在这方面做得很成功。只需调用API即可直接下载文件
var json2xls = require('json2xls');
var fs = require('fs');
module.exports = function (router, mongenter code hereoose) {
router.route('/client/toExcel')
.post(function (req, res) {
var obj = req.body.data;
res.xls('data.xlsx', obj);
});
return router;
};
如何在不将文件写入服务器的情况下在客户端(浏览器)中下载?它无法工作。我在excel中得到以下错误。已删除部分:/xl/sharedStrings.xml包含xml错误的部分。(字符串)非法的xml字符。第1行第153栏。已删除记录:来自/xl/worksheets/sheet.xml部分的单元格信息数据有问题。