我遇到了一个对我来说似乎很简单的问题,但我一生都无法弄清楚。我有一个简单的 NodeJS 服务器,它使用 ExpressJS 基本上验证电子邮件并授予用户对 zip 文件的访问权限。问题是这在 Chrome 和 Firefox 上效果很好,但在我打开 F12 开发者控制台之前不能在 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" );
正如你所看到的,我已经尝试了 ExpressJSres.download
并且stream.pipe
得到了完全相同的结果。