2

我正在使用 node 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:我还阅读了一些使用强大模块的教程。推荐使用还是像我做的就够了?

4

1 回答 1

1

你用的是哪个版本的快递?在多部分实体的 express 4.0 中,您应该使用替代方案。

例如,您可以使用multer npm 模块实现上传文件

var multer = require('multer');

app.use(multer({dest: './uploads/'}));

//app.post('/upload', function (req, res, next) {
//    console.log(req.files);
//});
于 2014-11-08T17:18:43.533 回答