Обработка данных формы в nodejs

Я загружаю файл csv из моего клиентского javascript как запрос 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);
});

1 ответ

Я думаю, что вы не используете 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.file или же req.files вы получите информацию о файле или получить доступ к файлу req.files.path будет использоваться, или дать попытку busboy, если вы не хотите сохранять файл и хотите выполнить операцию в буфере.

Другие вопросы по тегам