首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问Multer buffer对象

访问Multer buffer对象
EN

Stack Overflow用户
提问于 2016-04-06 07:37:07
回答 1查看 6.7K关注 0票数 5

我想使用上传的'file.txt‘,使用multer和逐行模块。在用multer上传文件后,我试图检查数据,我得到了一个buffer对象,但我不知道如何访问数据并使用逐行模块对其进行操作。下面是我的代码:

代码语言:javascript
复制
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")
})

当我在控制台上看到数据时,我会得到一个缓冲区:

代码语言:javascript
复制
<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 ... >

并且逐行模块不能处理这个问题。你能帮我解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2018-04-11 02:29:29

如果您的字符串变量是Buffer对象,则可以通过添加空字符串:data + ''轻松地将其转换为字符串。如果你想逐行访问你的文本,你可以把它转换成行数组:

代码语言:javascript
复制
(data + '').split('\n')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36438918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档