节点强制返回空字段和文件

时间:2017-01-22 11:27:36

标签: node.js formidable

我还可以搬到另一个模块,但我很好奇我做错了什么。我试图通过在请求到达body-parser之前拦截请求,并查看命中服务器的文件和字段但是它返回两个对象的普通对象,来尝试将强大的功能集成到已有的应用程序中。

客户端,我使用FormData提交表单并使用entries()方法和for of检查表单只是为了确保它已加载,是的,它是。然而,服务器不会选择它。

服务器代码如下所示:

 app = app.use(multipart)
 .use(require("body-parser").urlencoded({limit: "45kb", extended: true}))
 .use(cookieSession({secret: "mmay", maxAge: 60 * 60 * 24 * 1000, httpOnly:  true,
 expires: new Date (Date.now() + (60 * 60 * 24 * 1000))
 }))
 .use(static(__dirname + "/public"))
 .use("/admin", admin);

 function multipart(req, res, next) {
if (req.method == "POST" && req.headers["content-type"].indexOf("multipart/form-data") == 0) {
    console.log("running");
    var newFoodsForm = new formidable.IncomingForm(), util =    require("util");
    newFoodsForm.uploadDir = path.join(__dirname + "images");
    newFoodsForm.keepExtensions = true;

    newFoodsForm.parse(req, function(err, fields, files) {
        res.end(util.inspect({fields: fields, files: files})); // returns {fields: {}, files: {}}
    })
   } else next();
    }

我做错了什么?

0 个答案:

没有答案