3

次のタスクがあります。

私のサーバーの 1 つの要求は、統計を含む csv ファイルを取得することです。私はJSON構造を持っています。モジュールhttps://github.com/wdavidw/node-csvを使用して、json から csv 構造を作成します。問題は、正しい MIME タイプ (text/csv) でユーザーに送信するにはどうすればよいかということです。

var arr = [["date,shop_id,product_id,count"]];
_.each(res, function(date) {
  _.each(date.unknown_products, function(count, product) {
    arr.push([date.date + ',' + id + ',' + product + ',' + count ]);
  });
});

csv()
  .from.array(arr)
  .to(function (data) {
    console.info(data); // => correct csv 
                                //  "date,shop_id,product_id,count"     
                                //  "2013-10-01,1,123,312"
    response += data;
  })
  .on('end', function (count) {
    console.log('Number of lines: ' + count); // => Number of lines: 33878

    //request.reply(new Hapi.response.Obj(response, 'text/csv'));
    request.reply(response);
  });
4

5 に答える 5

5

わかりました、次を使用して解決策を見つけますHapi.response.Stream

var stream = csv().from.array(arr, {
   columns: ["date", "shop_id", "product_id", "count"]
});


var response = new Hapi.response.Stream(stream);

response.type('text/csv');
request.reply(response);

それを実現するための最良の方法を教えてください。

于 2013-10-17T15:27:56.963 に答える