2015-01-05 2 views
0

Я загружаю файл csv с моего javascript на стороне клиента как запрос на отправку на мой сервер узлов. Я также могу обрабатывать запрос на сервере nodejs. Помогите мне в сборе файла и разборе файла на стороне сервера. Файл будет csv-файлом, и мне нужно проанализировать файл и прочитать содержимое файла.Обработка данных формы в nodejs

Я добавляю фрагмент исходного кода для загрузки файла на стороне клиента, а также на стороне сервера ниже для справки.

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); 
}); 
+0

Возможный дубликат [Node/Express file upload] (http://stackoverflow.com/questions/23691194/node-express-file-upload) – callmekatootie

+0

Вы предоставили мало информации. Вы могли бы сделать console.log на req.body и req.files и посмотреть, где находится файл. Я спрашиваю об этом, потому что с помощью express.4.0 + мы не можем использовать bodyparser для обработки многоформатных данных. – harryy000

ответ

-1

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

Смежные вопросы