亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當表單設置為 enctype='multipart/form-data' 時

當表單設置為 enctype='multipart/form-data' 時

開心每一天1111 2021-07-03 19:04:52
所以我正在使用基本的 node.js+express 制作這個登錄身份驗證應用程序。因此,當我從注冊頁面獲取值(姓名、電子郵件等)時,我正在使用 express-validator 驗證這些值。但是,當注冊頁面表單具有 enctype='multipart/form-data' 時,我得到的每個值都未定義(名稱、電子郵件等)。但是當我刪除 enctype='multipart/form-data' 時,值就很好了?。∧敲从惺裁唇鉀Q方案嗎?我只是 Node.js 的初學者。(PS 我需要 enctype='multipart/form-data' 因為我在注冊時上傳了個人資料圖片)(PS 在代碼中,我刪除了中間件以顯示僅 register.jade 及其路由的最小代碼)我在沒有使用enctype='multipart/form-data'的情況下已經成功注冊,但是這里我無法上傳圖片。(PS使用multer進行文件上傳)./app.jsvar 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;
查看完整描述

1 回答

?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

您使用'multipart/form-data'防止 Express 解析其他表單字段的值。解決此問題的最簡單方法是使用解析多部分表單的中間件,并讓您可以訪問字段和圖像。

有幾個這樣的中間件包,每個都有自己的支持/文檔/記錄:multer,打雜多方等等我用的多,在過去的幾個項目,沒有問題,但也有新的軟件包。


查看完整回答
反對 回復 2021-07-15
  • 1 回答
  • 0 關注
  • 257 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號