我正在尝试使用express的res.download提示用户进行文件下载,但它似乎不起作用并在控制台中出错。
这是我的代码
router.get('/download', function(req, res){
var file = __dirname + '/public/template.docx';
res.download(file);
});
这给了我以下错误
ERROR SyntaxError:位于0的JSON中的意外标记P
答案 0 :(得分:0)
我认为你可能做错了什么。这是一个功能性的例子:
const path = require('path');
const express = require('express');
const app = express();
app.get('/download-docx', (req, res) => {
const docPath = path.join(__dirname, 'demo.docx');
res.download(docPath, 'demo.docx', function(err){
if (err) {
// if the file download fails, we throw an error
throw err;
}
});
})
const listener = app.listen(process.env.PORT, () => {
console.log('Your app is listening on port ' + listener.address().port);
});
它假定上面文件所在的同一目录中有一个demo.docx
文件。如果你想要一个功能齐全的例子,你可以编辑我在{{3}上为你构建的一个}。一个小问题,故障没有显示文件树中的demo.docx
文件,但请确保它实际上存在。您可以使用左上角的“高级选项”菜单中的控制台选项自行确认。