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