无法读取“路径”;未定义的Nodejs属性

Cannot read "path" property of undefined Nodejs

本文关键字:未定义 Nodejs 属性 读取 路径      更新时间:2023-09-26

这是我的翡翠文件

form(method="post", action="/upload", enctype="multipart/form-data")
      input(type="file", name="logName")
      button(type="submit") Upload

和我的index.js文件

/* GET home page. */
router.get('/', function (req, res) {
    res.render('fileUpload', { title: 'Building a Log File Viewer' });
});
var formidable = require('formidable'),
    fs = require('fs'),
    util = require('util');
/* POST the file upload */
router.post('/upload', function (req, res) {
    var form = new formidable.IncomingForm();
    form.parse(req, function (err, fields, files) {
        fs.readFileSync(files.upload.path, function (err, data) {
            if (err) throw err;
          console.log("Test");
           })
    });
});

我一直得到TypeError属性,属性"path"是未定义的;但是,当我将代码提交到http。createServer,而不是路由器。Post,它工作得很好。我也尝试过异步文件读取,它给了我同样的错误。什么好主意吗?

请尝试

fs.readFileSync(files.logName.path, function (err, data){ ... });

代替

fs.readFileSync(files.upload.path, function (err, data) { ... });