我正在尝试将.xls表转换为.csv行。
我找到了有助于此操作的库,其名称为XLSX
第一步,我将.xls表编码为base64格式。
现在我正尝试使用Postman发送发帖请求(以base64代码作为请求正文)
但是当我尝试console.log
req.body
时,我收到的是未定义的。您能告诉我我的应用程序可能在哪里出错吗?
我的 app.js :
const express = require('express');
const dataConverter = require('./inputDataConverter');
const { errorHandler } = require('./../error/error-handler');
const app = express();
const port = process.env.PORT || 5000;
const domain = process.env.DOMAIN || '0.0.0.0';
app.post('/convert', dataConverter);
app.all('*', (req, res, next) => next('Invalid request'));
app.use(errorHandler);
app.listen(port, () => {
console.log(`Microservice runs on http://${domain}:${port}`);
});
inputDataConverter.js:
const XLSX = require('xlsx');
module.exports = (req, res, next) => {
console.log('First console.log ' + req.body);
const getWorkbook = (data) => {
let wb = null;
if (!data.type || data.type === 'base64') {
wb = XLSX.read(data.body, { type: 'base64' });
}
console.log('everything is working');
return wb;
};
const requestData = req.body;
console.log(requestData);
getWorkbook(requestData);
};
答案 0 :(得分:0)
如摩尔达所说 您可能需要身体分析器 https://www.npmjs.com/package/body-parser
在新版本中,实际上内置了body-parser来表达,因此您可以像这样使用它:
app.use(express.json())
我真的建议您使用express-generator包生成基本的Express应用程序 https://www.npmjs.com/package/express-generator
您可能会找到不需要的东西 只是去掉