CSV 到 JSON 使用文件上传
CSV to JSON using file upload
我想使用文件上传将 CSV 文件转换为 JSON 数组对象。
我试过 multer,
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
https://github.com/expressjs/body-parser 是一个很好的工具。
首先,安装并需要库。然后,创建一个 text
bodyparser(可能最适合 csv
use-case)并将其注册为中间件:
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
不适用于多部分主体。如果是这种情况,请使用 https://github.com/felixge/node-formidable
周杰伦
如果你有小的 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);
});
});
我想使用文件上传将 CSV 文件转换为 JSON 数组对象。
我试过 multer,
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
https://github.com/expressjs/body-parser 是一个很好的工具。
首先,安装并需要库。然后,创建一个 text
bodyparser(可能最适合 csv
use-case)并将其注册为中间件:
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
不适用于多部分主体。如果是这种情况,请使用 https://github.com/felixge/node-formidable
周杰伦
如果你有小的 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);
});
});