这是我的玉文件
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时,它工作正常。我也尝试过异步文件读取,它给了我同样的错误。有什么想法吗?
答案 0 :(得分:0)
请尝试
fs.readFileSync(files.logName.path, function (err, data){ ... });
而不是
fs.readFileSync(files.upload.path, function (err, data) { ... });