4

ファイルのアップロード用にスキッパーがバンドルされているセイル バージョン 0.11 を使用しています。少なくともサイズが 100 MB を超える大きなファイルをアップロードする必要があります。

サーバーでファイルの処理を開始する前に、ファイルのアップロードを完了させたくありません。アップロード中にファイル ストリームを読み取りたい。これが私が同じことを達成しようとしている方法です:

var csv = require("fast-csv");

bulk: function (req, res){

  function parseEntry(entry){
    return entry
  } 

  var inputStream = req.file('employees');
  var csvStream = csv();
  inputStream.pipe(csvStream); 

  csvStream.on("data", function (data){
    count++
    // skip invalid records
    var parsedData = parseEntry(data);
    console.log(parsedData);
  });

  csvStream.on("end", function(){
    // console.log("total time taken in minutes:", timeTaken);
    return res.json(200, {"status": 1, "message": "successfully uploaded the file"});
  });

}

しかし、ログには終了イベントのみが表示され、データ イベントはキャプチャされません。req.file("filename") ファイルストリームのストリームを返すドキュメントを読みました。しかし、アップロードするファイルは 1 つだけなので、必要な特定のファイル ストリームにアクセスするにはどうすればよいでしょうか。

4

1 に答える 1