我面临着我认为在enctype="multipart/form-data"
ExpressJS 中使用表单类型的常见问题。如果没有中间件,req.body
(或 bodyParser)将无法处理这种表单类型,因此我会根据请求null
为我的字段发送值。POST
我的表单有一个文件上传部分,这就是我使用的原因multipart
,我使用multer
andmulter-s3
模块来处理上传到 s3 存储桶的图像,但不知道如何使用multer
或其他一些模块来帮助我存储字段值到我的 Mysql(Sequelize ORM)数据库。任何人都可以提供有关是否multer
适合用于此类表单上传的模块的指导,并指出我可以req.body
使用某些特定于模块的方法替换掉的文档吗?
我的表格是什么样的
<form action="/app/post/create" method="post" enctype="multipart/form-data">
<label for="discovery">Discovery:</label>
<textarea id="discovery-text-field" name="discovery"></textarea>
</br>
<label for="report-link">Link to Report:</label>
<input type="textarea" name="reportLink">
<br />
<label for="file-attachment">File Attachment:</label>
<input type="file" id="file-input" name="fileUpload[]" multiple>
</form>
路由:
appRoutes.route('app/post/create')
.post(function(req, res){
models.Post.create({
discovery: req.body.discovery,
reportLink: req.body.reportLink,
userId: req.user.userId
}).then(function(){
req.flash('info', 'Post was successfully created.');
res.redirect('/app');
});
});