当前位置:  开发笔记 > 编程语言 > 正文

从express 3到express 4更新了应用程序,现在req.files返回undefined

如何解决《从express3到express4更新了应用程序,现在req.files返回undefined》经验,为你挑选了1个好方法。

尝试从快递3更新到表达4我的文件上传路径开始返回req.files为undefined.我已将中间件安装为单独的依赖项,因为它们未包含在express中,并且我已停止使用已删除的app.configure()方法.这是我的主服务器文件

    // dependencies ==========================================================================

    var express        = require('express');                  // framework
    var mongoose       = require('mongoose');                 // mongo driver
    var morgan         = require('morgan');                   // request logger
    var bodyParser     = require('body-parser');
    var methodOverride = require('method-override');
    var fs             = require('fs');
    var app            = express();                           // initialize as 'app'

    // configuration =========================================================================

    mongoose.connect('mongodb://localhost/constellates');

    var port = 4000;                                          // set port number for app
    app.use(bodyParser());                                    // pull information from html in POST
    app.use(express.static(__dirname + '/public'));           // set static files directory
    app.use(morgan('dev'));                                   // log every request to the console
    app.use(methodOverride());                                // simulate PUT and DELETE


    // routes ================================================================================

    require('./routes')(app);                                 // load routing from 'routes.js'

    // start server ==========================================================================

    app.listen(port);                                         // start server listening
    console.log('Server is listening on port ' + port);       // display success message with port number

这是我简化故障排除的路线

    app.post('/api/upload', function (req, res) {
      console.log(req.files);
    });

客户端没有任何改变.我最好的猜测是对bodyParser的一些改变正在影响这个,但我还没有找到任何东西.有任何想法吗?



1> loganfsmyth..:

作为3.x- > 4.x更改的一部分,处理multipart/form-data请求正文数据的bodyParser中间件已从中间件中删除,因此它只解析application/x-www-form-urlencodedapplication/json请求正文数据.

如果要将其multipart/form-data用作请求主体,则需要使用multer中间件.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有