无法读取未定义的Nodejs的“path”属性

时间:2014-06-26 01:02:02

标签: javascript node.js file logging upload

这是我的玉文件

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

1 个答案:

答案 0 :(得分:0)

请尝试

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

而不是

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