无法使用 Multer / Express 从多部分表单中 return POST 数据
Unable to return POST data from multipart form using Multer / Express
将 multer 与 expressjs 一起使用 posting 数据时,我的 Git Bash shell 似乎无法获得 console.log() 响应从多部分形式。请注意,我只返回文本,所以我确实在 post 请求中应用了 "upload.none()"。
不确定我的 register.jade 文件或 users.js 文件本身是否有问题...
multer 是否需要 app.js 中的“app.use(....) 语句?我在文档中没有看到任何内容
我的表格(register.jade):
body.animsition
.page-wrapper
.page-content--bge5
.container
.login-wrap
.login-content
.login-logo
a(href='#')
img(src='/images/QTI-Logo.jpg', alt='')
.login-form
form(action='/users/register', method='post', enctype='multipart/form-data')
.form-group
label Full Name
input.au-input.au-input--full(type='text', name='name', placeholder='Your Name')
.form-group
label Username
input.au-input.au-input--full(type='text', name='username', placeholder='Desired Username')
.form-group
label Email Address
input.au-input.au-input--full(type='email', name='email', placeholder='Email')
.form-group
label Password
input.au-input.au-input--full(type='password', name='password', placeholder='Password')
.form-group
label Confirm Password
input.au-input.au-input--full(type='password', name='password2', placeholder='Confirm Password')
input.au-btn.au-btn--block.au-btn--green.m-b-20(type='submit', name='submit' value='Register')
.register-link
p
| Already have account?
br
a(href='/users/login') Sign In
这是 users.js 文件:
var express = require('express');
var router = express.Router();
var multer = require('multer');
var upload = multer();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
router.get('/register', function(req, res, next) {
res.render('register', {title: 'Register'});
});
router.get('/login', function(req, res, next) {
res.render('login', {title: 'Login'});
});
router.post('/register', upload.none(), function(req, res, next) {
console.log(req.body.name);
});
module.exports = router;
如果有人也偶然发现了这个问题,我终于找到了我的错误!!
该死的Jade/Pug格式。这就是我信任在线 HTML >> 我猜的 Jade 转换器。
.login-form
form(action='/users/register', method='post', enctype='multipart/form-data')
.form-group
label Full Name
input.au-input.au-input--full(type='text', name='name', placeholder='Your Name')
.form-group
label Username
input.au-input.au-input--full(type='text', name='username', placeholder='Desired Username')
.form-group
label Email Address
input.au-input.au-input--full(type='email', name='email', placeholder='Email')
.form-group
label Password
input.au-input.au-input--full(type='password', name='password', placeholder='Password')
.form-group
label Confirm Password
input.au-input.au-input--full(type='password', name='password2', placeholder='Confirm Password')
input.au-btn.au-btn--block.au-btn--green.m-b-20(type='submit', name='submit' value='Register')
.register-link
p
| Already have account?
br
a(href='/users/login') Sign In
.form-group 需要一个额外的 "tab" 或缩进才能使这一切正常工作。在这里,我花了 3 天时间来追查 express 和 multer 错误
将 multer 与 expressjs 一起使用 posting 数据时,我的 Git Bash shell 似乎无法获得 console.log() 响应从多部分形式。请注意,我只返回文本,所以我确实在 post 请求中应用了 "upload.none()"。
不确定我的 register.jade 文件或 users.js 文件本身是否有问题...
multer 是否需要 app.js 中的“app.use(....) 语句?我在文档中没有看到任何内容
我的表格(register.jade):
body.animsition
.page-wrapper
.page-content--bge5
.container
.login-wrap
.login-content
.login-logo
a(href='#')
img(src='/images/QTI-Logo.jpg', alt='')
.login-form
form(action='/users/register', method='post', enctype='multipart/form-data')
.form-group
label Full Name
input.au-input.au-input--full(type='text', name='name', placeholder='Your Name')
.form-group
label Username
input.au-input.au-input--full(type='text', name='username', placeholder='Desired Username')
.form-group
label Email Address
input.au-input.au-input--full(type='email', name='email', placeholder='Email')
.form-group
label Password
input.au-input.au-input--full(type='password', name='password', placeholder='Password')
.form-group
label Confirm Password
input.au-input.au-input--full(type='password', name='password2', placeholder='Confirm Password')
input.au-btn.au-btn--block.au-btn--green.m-b-20(type='submit', name='submit' value='Register')
.register-link
p
| Already have account?
br
a(href='/users/login') Sign In
这是 users.js 文件:
var express = require('express');
var router = express.Router();
var multer = require('multer');
var upload = multer();
/* GET users listing. */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
router.get('/register', function(req, res, next) {
res.render('register', {title: 'Register'});
});
router.get('/login', function(req, res, next) {
res.render('login', {title: 'Login'});
});
router.post('/register', upload.none(), function(req, res, next) {
console.log(req.body.name);
});
module.exports = router;
如果有人也偶然发现了这个问题,我终于找到了我的错误!!
该死的Jade/Pug格式。这就是我信任在线 HTML >> 我猜的 Jade 转换器。
.login-form
form(action='/users/register', method='post', enctype='multipart/form-data')
.form-group
label Full Name
input.au-input.au-input--full(type='text', name='name', placeholder='Your Name')
.form-group
label Username
input.au-input.au-input--full(type='text', name='username', placeholder='Desired Username')
.form-group
label Email Address
input.au-input.au-input--full(type='email', name='email', placeholder='Email')
.form-group
label Password
input.au-input.au-input--full(type='password', name='password', placeholder='Password')
.form-group
label Confirm Password
input.au-input.au-input--full(type='password', name='password2', placeholder='Confirm Password')
input.au-btn.au-btn--block.au-btn--green.m-b-20(type='submit', name='submit' value='Register')
.register-link
p
| Already have account?
br
a(href='/users/login') Sign In
.form-group 需要一个额外的 "tab" 或缩进才能使这一切正常工作。在这里,我花了 3 天时间来追查 express 和 multer 错误