我遇到了一个似乎对我来说很简单的问题,但我无法为我的生活弄清楚。我有一个使用ExpressJS的简单NodeJS服务器,它基本验证电子邮件并授予用户对zip文件的访问权限。问题是,在Chrome和Firefox上这样做效果很好,但在IE上打开F12开发者控制台之前不会。我浏览了在这里遇到的所有文档以及其他各种网站,但没有提到类似的问题。NodeJS下载文件无法在IE上工作
我的猜测是某些设置未在IE上启用,但我已验证我已启用活动脚本,并降低了我的安全级别。这个问题发生在我所有的IE用户身上,我希望有人能为我解答。
var stat = fs.statSync('myFile.zip');
res.writeHead(200, {
'Content-Type': 'application/octet-stream',
'Content-Length': stat.size,
'Content-disposition' : 'attachment; filename="myFile.zip'
});
console.log('Starting download: ' + 'myFile.zip');
var stream = fs.createReadStream('myFile.zip', { bufferSize: 64 * 1024 });
stream.pipe(res);
//res.download('myFile.zip', "myFile.zip");
正如你可以看到我都试过ExpressJS的res.download
和stream.pipe
有同样的结果。
什么错误? – OneOfOne