node.js - 在 Express 中 bodyparser 和 multer 如何协同工作?
问题描述
假设我发送了一个包含字符串字段和附加文件图像的文件。这就是我在前端的做法:
const formData = new FormData();
formData.append('title', postData.title);
formData.append('content', postData.content);
formData.append('image', postData.image);
这是我在 Express 中的中间件配置:
app.use(bodyParser.json());
app.use(
multer({ storage: fileStorage, fileFilter }).single('image')
);
app.use('/images', express.static(path.join(__dirname, 'images')));
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
next();
});
那么,究竟是谁在解析字符串字段呢?如果我将 JSON 对象附加到 FormData,bodyparser.json() 将如何知道在哪里可以找到 JSON 数据以及忽略什么,因为它是一个文件?
解决方案
推荐阅读
- php - 提交后如何在JForm中获取项目POST的值?
- css - Bootstrap 网格图像问题高度元素
- python - 有没有办法通过多个标签输入来使用 svm 预测一个标签
- android - 旧的 recyclerview 在旋转后保留为背景
- c - Print Caesar Shift in C 正在打印输入的 HELLO 文本
- android - java.lang.SecurityException: adb 清除用户数据被禁止。'; 代码:'1'
- php - 如何从具有主题 functions.php 文件的函数中调用插件短代码?
- angularjs - 当我的其他功能调用时如何聚焦/单击按钮?
- firebase - 有没有办法在 firebase 控制台中查看每个 firebase 函数的调用次数?
- ruby-on-rails - Rails 中的时间模块