Javascript 快速路径不下载文件
这可能是一个很容易解决的问题,但我尝试在路由器中使用res.download.post路由,就像这样Javascript 快速路径不下载文件,javascript,node.js,express,Javascript,Node.js,Express,这可能是一个很容易解决的问题,但我尝试在路由器中使用res.download.post路由,就像这样 router.post('/', function (req, res) { var csv; csv = utils.convertToCsv(req.body); console.log(csv); res.download('./temp/csv/' + csv + '.csv', csv + '.csv', function (err) { if (err) {
router.post('/', function (req, res) {
var csv;
csv = utils.convertToCsv(req.body);
console.log(csv);
res.download('./temp/csv/' + csv + '.csv', csv + '.csv', function (err) {
if (err) {
console.log('Error:' + err);
} else {
console.log(res.headersSent) //True
console.log('Success!!') //Success!!
}
});
});
我怀疑我的文件没有下载,因为它位于router.post路由中。这是正确的还是我遗漏了什么
谢谢 让Express设置正确的标题。删除res.set,然后再试一次。@sam100rav谢谢您的建议,但仍然无效。然后使用res.sendFile而不是res.download。但是如果您想使用res,请下载use res.download('./temp/csv/'+csv+'.csv',some_name.csv',function(err){console.log(err)});现在,检查错误。@sam100rav我用您建议的更改更新了我的代码,并在console.log上为res.headersSent和Success打印出True。它似乎正在工作,只是没有下载文件。