node.js - Hapijs 中的 request.payload.file 属性始终未定义
问题描述
我正在尝试为我的 Hapi JS api 测试单个图像上传。当我尝试访问file
有效负载对象中的属性时,我收到一条undefined
消息。
这是我的路线处理程序:
server.route({
method: 'POST',
path: '/profile/upload-image',
handler: async (request, h) => {
let data = request.payload;
console.log(data.file);
return h.response(request.payload);
},
options: {
auth: false,
payload: {
output: 'stream',
parse: false,
//multipart: true,
maxBytes: 1024 * 1024 * 100
}
}
});
这是邮递员中显示的响应:
我也尝试过 Insomnia,以确保 Postman 没有问题;我得到相同的结果。
这里有什么问题?
我尝试设置:allow: 'multipart/form-data'
但这不起作用。我还尝试了一些不同的组合parse: true
,例如增加 maxBytes,但这也不起作用。
解决方案
这些设置对我有用:
options: {
payload: {
maxBytes: 10485760,
parse: true,
output: 'stream',
allow: ['multipart/form-data'],
multipart: true
}
}
此外,我不得不切换到 Insomnia 进行测试,因为 Postman 出于某种原因给了我一个 bad-request 错误。我记得过去经历过类似的事情。
推荐阅读
- java - 启动 Spring Boot 应用程序时出现 MismatchedInputException
- ios - @IBOutlet 实现为属性包装器?
- ssl - 如何让 Amazon EC2 接受带有 socket.io 的 https
- multithreading - 并发线程、进程和多核
- php - 使用 swiftmailer 发送电子邮件时出现解析错误
- java - 如何避免在后台运行时启动应用程序时显示启动画面?
- python - 如何使用 For 循环语句从 4 个数据帧创建一个相似列的数据帧
- javascript - 向前和向后遍历树状结构
- json - 在 Angular 中解析巨大的 XML 文件的超时或策略问题
- python - 在 matplotlib 上绘制一个 numpy 数组