2016-08-15 3 views
1

저는 koajs를 nodejs의 프레임 워크로 사용하고 있습니다. 나는 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); 

참고 : 결과에 당신은 당신이 이제까지이 알아낼 했 파일 경로

관련 문제