我遇到了一个对我来说似乎很简单的问题,但我不能为我的生活弄清楚。我有一个简单的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" );
正如您所看到的,我已经尝试过具有完全相同结果的ExpressJS res.download
和stream.pipe
。
答案 0 :(得分:0)
您缺少双引号,是否添加帮助?
'Content-disposition' : 'attachment; filename="myFile.zip"'
如果这不起作用,可以尝试:
res.writeHead(200, {
'Content-Length': stat.size,
});
res.attachment('myFile.zip');