2016-03-31 12 views
0

私のサーバーからユーザーにファイルをダウンロードしたいのですが、次のコードを使用してパイプファイルを応答している間にファイルがすべて壊れていて、ダウンロードしたファイルのサイズがサイズ元のファイルの。ファイルをダウンロード中に破損しました

fs.stat('./client/public/output.zip',function (err,stat) { 
    var stream=fs.createReadStream('./client/public/output.zip'); 
    response.setHeader('Content-Type','object'); 
    response.setHeader('Content-Length',stat.size); 
    response.setHeader('Content-Disposition','attachment; filename=output.zip'); 
    response.writeHead(200); 
    stream.pipe(response); }) 

私も)(response.downloadを試してみましたが、それは

ファイルサイズが6メガバイト程度であり、私のOSはI原因、私は理由を見つけるOSX

+0

を見つけることができますが、それにはクロム、Safariやエッジ私はあなたのコードを試してみました – jasine

+0

を使用して誤解し、それが動作しますアイアン(aクロムフォーク)とエッジ。ヘッダーもfs.statも設定せずに試しましたか? 'stream.pipe(response);'のみです。 – Shanoor

+0

@ S.D。私はOPのコードをコピーして貼り付けました。 – Shanoor

答えて

0

では動作しません。 connect-livereload構成された、あなたは私はちょうど私がダウンロードツールを使用するか、ダウンロード中にIEを使用している場合、それは大丈夫だ見つけ、ここで問題 https://github.com/intesso/connect-livereload/issues/39

関連する問題