我正在使用节点js开发一个Web应用程序。当尝试上传图片并保存在应用程序的文件系统中时,我收到错误:
Cannot read property 'displayImage' of undefined
我的图片帖子代码如下:
router.post('/upload', function (req, res, next) {
fs.readFile( req.files.displayImage.path, function (err, data) {
var newPath = __dirname + "/uploads/uploadedFileName";
fs.rename(newPath, 'filename', function (err) {
res.redirect('/');
});
});
});
在视图中
form(action="upload", method="post", enctype="multipart/form-data")
input(type="file", name="displayImage")
input(type='submit')
非常感谢你的帮助!
PS:我也读过一些使用formidable模块的教程。建议使用它还是我已经做的就足够了?
答案 0 :(得分:1)
您使用的是哪个版本的快递?在Express 4.0中,对于多部分机构,您应该使用替代方案。
例如,您可以使用multer npm module
实施上传文件var multer = require('multer');
app.use(multer({dest: './uploads/'}));
//app.post('/upload', function (req, res, next) {
// console.log(req.files);
//});