我正在将客户端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);
});
答案 0 :(得分:-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文件,并希望在缓冲区中进行操作。