私には非常に単純に思える問題に遭遇しましたが、私の人生ではそれを理解することはできません。基本的に電子メールを検証し、ユーザーにzipファイルへのアクセスを許可するExpressJSを使用する単純なNodeJSサーバーがあります。問題は、これは 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
が、まったく同じ結果が得られました。