我想使用上传的'file.txt‘,使用multer和逐行模块。在用multer上传文件后,我试图检查数据,我得到了一个buffer对象,但我不知道如何访问数据并使用逐行模块对其进行操作。下面是我的代码:
var express = require("express"),
fs = require('fs'),
app = express(),
bodyParser = require("body-parser"),
multer = require('multer'),
upload = multer({
dest: 'uploads/',
inMemory:true,
onFileUploadData: function (file, data) {
console.log(data.length + ' of ' + file.fieldname + ' arrived')
}
}),
LineByLineReader = require('line-by-line'),
path = require('path'),
ejs = require("ejs"),
Excel= require("exceljs");
app.engine('html', ejs.renderFile);
app.set('view engine', 'html');
app.use("/static", express.static("public"));
app.use(bodyParser.urlencoded({ extended: true }));
app.post("/GffData", upload.single('file'), function (req, res) {
console.log("this is the request : ", req.file);
fs.readFile(req.file.path, function (err, data) {
if (err) throw err;
// data will contain your file contents
console.log("the data is : ",data)
generateObjectFromGff(data); //this is the function that will use line by line module
});
res.send("done")
})当我在控制台上看到数据时,我会得到一个缓冲区:
<Buffer 4c 6d 6a 46 2e 30 31 09 54 72 69 54 72 79 70 44 42 09 43 44 53 09 33 37 30 34 09 34 37 30 32 09 2e 09 2d 09 30 09 22 49 44 3d 63 64 73 5f 4c 6d 6a 46 ... >并且逐行模块不能处理这个问题。你能帮我解决这个问题吗?
发布于 2018-04-11 02:29:29
如果您的字符串变量是Buffer对象,则可以通过添加空字符串:data + ''轻松地将其转换为字符串。如果你想逐行访问你的文本,你可以把它转换成行数组:
(data + '').split('\n')https://stackoverflow.com/questions/36438918
复制相似问题