2016-08-15 21 views
1

私はnodejsのフレームワークとしてkoajsを使用しています。私は、CSVデータとクライアントへの応答を作成しようが、あなたは、ダウンロードを送信したい場合koajsでCSVファイルをダウンロードするには

let fields = ['code', 'status']; 
let p = new Promise((resolve, reject) => { 
    json2csv({data: data, fields: fields }, (err, response) => { 
     if (err) { 
      reject(err); 
     } else { 
      resolve(response); 
     } 
    }); 
}); 
return p.then(data => { 
    let fileName = 'promotioncode-' + moment().unix(); 
    ctx.response.attachment(fileName + '.csv'); 
    ctx.response.type = 'application/ms-excel'; 
    ctx.body = data; 
}) 

代わりに添付ファイル Here is response headers

Here is response body

+0

を持っているあなたがこれを理解しましたか?私も同様の問題があります。 – aashah7

答えて

1

の応答がある計画のテキストデータを動作していませんあなたがファイルの読み込みストリームを作成するために必要な本体に添付されたファイル。

const fs = require('fs'); 

ctx.set('Content-disposition', `attachment; filename=${result}`); 
ctx.statusCode = 200; 
ctx.body = fs.createReadStream(result); 

注:結果にファイルパス

関連する問題