我使用:形式POST方法和加密類型的multipart/form-data的未被的NodeJS快遞multer模塊上提交
"ejs": "^2.5.6",
"express": "^4.14.0",
"express-validator": "^3.2.0",
"multer": "^1.3.0",
我的形式是:
<form id="offer-form" role="form" enctype="multipart/form-data" action="/subfolder/86" method="POST">
<input type="text" name="name"/>
<input type="file" name="images"/>
<input type="file" name="images"/>
<button type="submit">Submit</submit>
</form>
我的服務器路線:
var path = require('path');
var express = require('express');
var bodyParser = require('body-parser');
var expressValidator = require('express-validator');
var osmodule = require('../../osmodule');
var Multer = require('multer');
var request = require('request');
const multer = Multer({
storage: Multer.memoryStorage(),
limits: {
fileSize: 5 * 1024 * 1024 // no larger than 5mb, you can change as needed.
}
});
//Adding a new subfolder
app.post('/subfolder/:id', multer.array({ name: 'images', maxCount: 6 }), expressValidator, function (req, res, next) {
console.log("Form Submitted");
}).use(function (req, res, next) {
res.setHeader('Content-Type', 'text/plain');
res.status(404).send('Not Found ! ');
});
通常這個代碼應該在控制檯上打印消息
表單提交 但服務器接收什麼都不 未找到
我剛纔注意到的問題是使用multer和expressValidator。如果我刪除expressValidator,它正在工作,但如果我添加它,它不起作用。我需要expressValidator來驗證用戶數據。是否有任何其他驗證工具可以接受與割絨師一起使用?
我把它放在帖子上,因爲我希望它僅用於該路線,而不是一般的應用程序。如果我按照你要求我這樣做的方式將它用於一般的@conrad Lotz應用程序 – aidonsnous