这是我的观点upload.ejs页面:
<%- include('header' ,{ title:"Playground" }) -%>
<div class="wrapper">
<form action="/upload" method="POST" enctype="multipart/form-data">
<input type="text" name="name" placeholder="Image Name">
<input type="text" name="description" placeholder="Description">
<button type="submit" name="submit">Upload</button>
</form>
</div>
<%- include('footer') -%>
这是我的路线upload.js文件:
var express = require('express');
var router = express.Router();
var db = require('../helpers/db');
var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: false });
router.get('/', function(req, res, next) {
res.render('upload');
});
router.post('/', urlencodedParser, function(req, res, next) {
console.log(req.body.name);
res.render('upload');
});
module.exports = router;
单击提交按钮后,我在控制台中未定义。如果我尝试控制log req.body,我会变空{}。
答案 0 :(得分:2)
请注意,bodyparser不会解析多部分(Form -data)数据。您将需要使用另一个包(using Pillow under the hood)。
仅在上传图像,文档等文件时才使用多部分请求。如果您使用的是普通数据,则可以删除,因为多部分请求被认为比正常的后请求更重。
enctype="multipart/form-data"