【发布时间】:2018-12-02 09:01:50
【问题描述】:
我有来自使用express 框架的node.js 服务器的以下代码:
var fs = require('fs')
express = require('express')
handlebars = require('express-handlebars');
var helpers = require('./lib/helpers');
var app = express();
app.use(function(req, res, next){
var pathUrl = req.path;
if(pathUrl !== '/')
res.download(__dirname + '/' + 'download.png', 'download.png', function(err){
console.log(err);
});
next();
});
app.get('/', function(req, res){
res.send('<a href=' + '/download.png' + '>' + 'download' + '</a>');
});
app.listen(3001);
运行时,此代码会产生以下错误:
{ Error: Request aborted
at onaborted (/home/js/webdev/fs/node_modules/express/lib/response.js:1021:15)
at Immediate._onImmediate (/home/js/webdev/fs/node_modules/express/lib/response.js:1063:9)
at runCallback (timers.js:696:18)
at tryOnImmediate (timers.js:667:5)
at processImmediate (timers.js:649:5) code: 'ECONNABORTED' }
如果res.download() 更改为res.send('Helo'),它可以工作。
为什么res.download() 不起作用?
谢谢。
【问题讨论】:
标签: javascript node.js http express download