baby parse (Papa Parse から分岐) を使用して、csv ファイルを取得し、データを Json に解析しようとしています。私がテストしているcsvファイルは非常に簡単です:
Column1,Column2,Column3
1,2,3
3,2,1
これまでのところ、 ng-file-uploadを使用してファイルを正常にロードし、ブラウザ経由で csv ファイルをロードしています。
私は今、赤ちゃんの解析を使用してこのファイルを取得し、データを JSON に変換しようとしています。
以下は私がこれまでに持っているものです:
コントローラー
// Watch for a csv file being uploaded.
$scope.$watch(function() {
return $scope.file
}, function(){
$scope.upload($scope.file);
});
$scope.upload = function(file){
if(file){
Upload.upload({
url: 'api/admin/uploadCsv',
method: 'POST',
data: {userId: $scope.user._id},
file: file
}).progress(function(evt){
console.log("firing");
}).success(function(data){
}).error(function(error){
console.log(error);
})
}
};
ファイルのアップロード時に、アップロード関数が呼び出され、サーバー コントローラーが呼び出されます。アップロードされたファイルはアップロード機能に渡され、それを解析メソッドに渡そうとしています。
module.exports.uploadCsv = function(req, res){
var file = req.files.file;
var userId = req.body.userId;
parsed = babyparse.parse(file.path, babyParseConfig);
console.log("data is " + (JSON.stringify(parsed.data)));
...
console.log には次のように出力されます。
data is {"data":[],"errors":[],"meta":{"delimiter":",","linebreak":"\n","aborted":false,"truncated":false,"fields":["..\\App\\uploads\\565b8feecddbb1e41b7aa839test.csv"]}}
csv ファイルがどのように見えるかを考えると、 data:[] が空である理由がわかりません。