0

我正在从客户端 javascript 将 csv 文件作为 Post 请求上传到我的节点服务器。我也能够处理 nodejs 服务器上的请求。请帮助我获取文件并在服务器端解析文件。该文件将是一个 csv 文件,我需要解析文件并读取文件的内容。

我附上了用于在客户端和服务器端上传文件的源代码片段以供参考。

myAngularApp.service('fileUpload', ['$http', function ($http) {
  this.uploadFileToUrl = function(file, uploadUrl){
    var fd = new FormData();
    fd.append('file', file);
    $http.post(uploadUrl, fd, {
        transformRequest: angular.identity,
        headers: {'Content-Type': undefined}
    })
        .success(function(){
           // handling on success data
        })
        .error(function(){
           // handling on error data
        });
  }

在 NodeJs 服务器上:

router.post('/filter-reports', function(req, res) {
  console.log('Came inside the Node js router.. Now.. its all up to me to format the data....');
  console.log(req);
});
4

1 回答 1

-2

我认为您没有使用 multer 来处理 multipart/formdata 请求。

提到

var multer  =   require('multer');
var storage =   multer.diskStorage({
  destination: function (req, file, callback) {
    callback(null, './public');
  },
  filename: function (req, file, callback) {
    callback(null, file.fieldname + '-' + Date.now());
  }
});

在上面的代码中。

/public是将保存文件的目录;您可以更改它,文件名将更改为带有时间戳的原始文件名。它们是此处的可选字段。

然后,在req.filereq.files您将获取您的文件信息或访问文件req.files.path将被使用,或者如果不想保存文件并想在缓冲区中进行操作,请尝试 busboy。

于 2016-05-20T15:05:03.430 回答