我试图使用express的res.download提示用户下载文件,但它似乎不起作用,并在控制台中出现错误。
这是我的密码
router.get('/download', function(req, res){
var file = __dirname + '/public/template.docx';
res.download(file);
});这将给出以下错误:
错误SyntaxError: JSON中位于0位置的意外令牌P
发布于 2017-07-02 17:25:39
我觉得你可能做错了什么。下面是一个功能示例:
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文件。如果您想要一个完整的功能示例,您可以编辑我在glitch.com上为您构建的示例。一个小问题是,glitch没有在文件树中显示demo.docx文件,但请放心,它确实存在。您可以使用左上角的“高级选项”菜单中的“控制台”选项来自己确认。
https://stackoverflow.com/questions/44869170
复制相似问题