Node.js 使用文件上载将CSV转换为JSON
我想使用文件上载将CSV文件转换为JSON数组对象 我试过穆特Node.js 使用文件上载将CSV转换为JSON,node.js,npm,multer,Node.js,Npm,Multer,我想使用文件上载将CSV文件转换为JSON数组对象 我试过穆特 module.exports = function(express, app, upload){ var router = express.Router(); var util = require('util'); router.get('/',function(req,res){ res.send(200); }); router.post('/csv', upload,f
module.exports = function(express, app, upload){
var router = express.Router();
var util = require('util');
router.get('/',function(req,res){
res.send(200);
});
router.post('/csv', upload,function(req,res){
//How to get file contents ?
res.send('/dashboard');
});
app.use('/upload',router);
};
上传在哪里
var upload = multer({ storage: storage }).single('csvfile');
您只需要从请求中提取一个主体
bodyparser
是一个很好的工具
首先,安装并需要该库。然后,创建一个text
bodyparser(可能最适合csv
用例),并将其注册为中间件:
app.use(bodyParser.json()) // app being 'var app = express()' server
最后:
router.post('/csv', upload,function(req,res){
console.log(req.body) // req.body should be populated by request body
res.send('/dashboard');
});
但是请注意,bodyparser
不适用于多部分主体。如果这是您的情况,请使用Jay之类的东西
如果你有小的csv文件,你可以使用multer的内存
var upload = multer({ inMemory: true}).single('csvfile');
在此之后,您必须转换csv
router.post('/csv', upload, function(req,res){
var csvString = req.files.csvfile.buffer.toString()
converter.fromString(csvString, function(err,result){
if(err)return res.send("ERR")
res.send(result);
});
});