所以我正在使用基本的 node.js+express 制作这个登录身份验证应用程序。因此,当我从注册页面获取值(姓名、电子邮件等)时,我正在使用 express-validator 验证这些值。但是,当注册页面表单具有 enctype='multipart/form-data' 时,我得到的每个值都未定义(名称、电子邮件等)。但是当我删除 enctype='multipart/form-data' 时,值就很好了!!
那么有什么解决方案吗?我只是 Node.js 的初学者。
(PS 我需要 enctype='multipart/form-data' 因为我在注册时上传了个人资料图片)
(PS 在代码中,我删除了中间件以显示仅 register.jade 及其路由的最小代码)
我在没有使用enctype='multipart/form-data'的情况下已经成功注册,但是这里我无法上传图片。
(PS使用multer进行文件上传)
./app.js
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var logger = require('morgan');
var expressValidator = require('express-validator');
var session = require("express-session");
var passport = require("passport");
var localStratergy = require("passport-local").Strategy;
var multer = require("multer");
var upload = multer({dest: './uploads'});
var flash = require("connect-flash");
var bcrypt = require("bcryptjs");
var moongo = require("mongodb");
var mongoose = require("mongoose");
var db = mongoose.connection;
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
const { check, validationResult } = require('express-validator');
var app = express();
app.use('/', indexRouter);
app.use('/users', usersRouter);
module.exports = app;
呼唤远方
相关分类