request.payload.file 属性 在 Hapijs 中总是未定义
The request.payload.file property is always undefined in Hapijs
我正在尝试为我的 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 出于某种原因给了我一个错误的请求错误。我记得以前有过这样的经历。
我正在尝试为我的 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 出于某种原因给了我一个错误的请求错误。我记得以前有过这样的经历。