Я могу использовать nodejs для успешной загрузки файла с сервера на клиент, если все правильно.Nodejs скачать файл ошибки обработки
Но если произошла ошибка, Я хочу просто вернуть сообщение об ошибке. Но теперь я получаю загруженный файл abc.txt, содержащий ошибку json. Как это исправить?
//server side code, get like /download?filename=abc.txt
app.get('/download', function(req, res){
var filename_para = req.query.filename; // abc.txt
if(filename_para == undefined)
{
console.log('no filename provided');
res.send('no filename provided');// this works
return;
}
var file = __dirname + '/uploads/' + filename_para;
var filename = path.basename(file);
var mimetype = mime.lookup(file);
res.setHeader('Content-disposition', 'attachment; filename=' + filename);
res.setHeader('Content-type', mimetype);
var filestream = fs.createReadStream(file);
filestream.on('error', function(err) {
console.log('error '+err);
// filestream.close();
res.send(err);// this error is in abc.txt???
});
filestream.on('finish', function() {
console.log('finish');
});
filestream.pipe(res);
});