【问题标题】:Cannot read "path" property of undefined Nodejs无法读取未定义 Nodejs 的“路径”属性
【发布时间】:2014-08-16 17:45:15
【问题描述】:

这是我的玉文件

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 属性;但是,当我在 http.createServer 而不是 router.post 下汇总代码时,它可以正常工作。我也尝试过异步文件读取,它给了我同样的错误。有什么想法吗?

【问题讨论】:

    标签: javascript node.js file logging upload


    【解决方案1】:

    请尝试

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

    而不是

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

    【讨论】:

    • 没关系,这行得通。我不得不用它的异步类型替换 readFileSync。谢谢!
    猜你喜欢
    • 2014-07-28
    • 1970-01-01
    • 2018-08-18
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2021-03-24
    相关资源
    最近更新 更多