这是我的路线档案xx.js
app.route('/api/xx/download')
.get(function (req, res) {
var mimetype = mime.lookup('/xx/assets/data/demo.png');
res.setHeader('Content-disposition', 'attachment; filename=demo.png');
console.log('mimetype', mimetype);
res.setHeader('Content-type', mimetype);
res.sendFile('/xx/assets/data/demo.png')
});
以下是我从终端获得的信息:
mimetype image / png
周六,2016年2月13日04:00:52 GMT express不推荐使用res.sendfile:在packages / custom / xx / server / routes / xx.js中使用res.sendFile:32:13 错误:ENOENT:没有这样的文件或目录,stat'/xx /assets/data/demo.png' 在错误(本机)
但我可以通过链接访问此文件:http://localhost:3000/xx/assets/data/demo.png
我正在使用MAC OS X EI Captian 10.11.2 我的MEAN.IO版本是0.5.5
答案 0 :(得分:0)
我找到了一种没有res.sendFile()下载文件的方法,你可以使用fs.createReadStream(文件)或res.download(文件),两者都可以解决这个问题。
app.route('/api/xx/download')
.get(function (req, res) {
var file = __dirname + '/../../public/assets/data/demo.png';
res.download(file);
});
state B