我正在尝试使用xls-to-json
节点模块将xls文件读取为json格式
发送文件路径时,它显示错误,如路径必须是字符串
我正在使用以下代码段
var fs = uploadedFiles[0].fd;
//fs is a file path
node_xj = require("xls-to-json");
node_xj({
input:fs,
}, function(err, result)
{
if(err)
{
console.error(err);
}
else
{
console.log(result);
}
});
错误
fs.js:430
binding.open(pathModule._makeLong(path),
^
TypeError: path must be a string
请帮助解决此问题。
答案 0 :(得分:1)
我的回答基于xls-to-json
文档本身。让我们假设您有接受文件作为输入文件的操作。输出是同一文件夹中的json
文件。因此,当您通过HTTP请求发送文件时,可以使用upload
方法上传该文件。 files
是包含已上传文件的数组,您可以通过fd
属性获取文件路径。
所以这个例子应该可以正常工作:
// api/controllers/AnyController.js
var path = require('path');
var xlsToJson = require('xls-to-json');
module.exports = {
index: function(req, res) {
req.file('param_name').upload(function(error, files) {
if (error) return res.serverError(error);
xlsToJson({
input: files[0].fd,
output: path.resolve('./', 'output.json')
}, function(error, result) {
if (error) return res.serverError(error);
res.ok(result);
});
});
}
};