javascript - 使用 Node.js 同时接受文件和文本输入
问题描述
我有这个表单,有两种类型的输入,文件和文本。我试图将图像文件(使用 Multer)保存在本地目录中。和数据库中的文本(使用猫鼬)。
<form
action="publish"
method="POST"
enctype="multipart/form-data"
>
<input type="text" name="textinput" placeholder="Title" />
<input type="file" name="imginput" />
</form>
当我提交表单并尝试处理两个输入(文件和文本)时,由于“enctype =“multipart/form-data”,它会阻止我访问文本。我删除了 enctype 的东西,这次我无法访问图像文件。
async function addText(userInput) {
const text = new Text({ text: userInput });
const result = await text.save();
console.log(result);
};
app.post("/publish", (req, res) => {
// init upload
const upload = multer({
storage: storage,
limits: { fileSize: 1000000 },
fileFilter: (req, file, cb) => {
checkFileType(file, cb);
},
}).single("imginput");
upload(req, res, (err) => {
if (err) {
res.send(err);
} else {
if (req.file == undefined) {
res.send("no file selected");
} else {
res.send("file uploaded");
}
}
});
addText(req.body.textinput);
};
有没有一种方法可以处理两个输入?
解决方案
推荐阅读
- python - For循环评估值是否在列表中,不确定为什么它返回真/假值
- android - 如何使用 Adapter 中的 onPause 方法来停止 ExoPlayer?
- python - 如何正确编码来自网站的请求响应中的德语字符?
- jquery - 单击链接时,响应式侧边栏不会关闭
- java - Session/EntityManager 在使用 StoredProcedureQuery 时关闭
- excel - 获取从 xml 中读取的数值到带小数位的 Excel 电子表格
- scala - scala - 获取列表中单词的运行计数并保留顺序
- biml - 带有 ScriptComponent 的 BIML 生成包但不会在 SSDT 中打开
- spring - Spring使用AggregateItemReader或其他解决方案在阅读器中批量读取多行一次
- eclipse - 如何在 xtext 列表中添加分隔符?