NodeJS下载文件无法在IE上运行

时间:2013-08-31 19:54:43

标签: node.js express download

我遇到了一个对我来说似乎很简单的问题,但我不能为我的生活弄清楚。我有一个简单的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.downloadstream.pipe

1 个答案:

答案 0 :(得分:0)

您缺少双引号,是否添加帮助?

'Content-disposition' : 'attachment; filename="myFile.zip"'

如果这不起作用,可以尝试:

res.writeHead(200, {
      'Content-Length': stat.size,
});
res.attachment('myFile.zip');