我进行了搜索,但找不到正确的答案。
我显得很无助。但幸运的是,visua 代码帮助调试了代码,我在index.js@hapi/subtext/lib 文件中找到了这一行
if (contentType.mime === 'multipart/form-data') {
if (options.multipart === false) {// Defaults to true
throw Boom.unsupportedMediaType ();
}
return await internals.multipart (req, options, source, contentType);
}
然后我在路由器选项中修复了 multi part = true :
{
payload: {
maxBytes: 1024 * 1024 * 100,
// timeout: false, // important
parse: true,
output: 'data',
allow: 'multipart / form-data',
multipart: true
}
}
它起作用了。感谢您的可视化代码调试。我回信给可能遇到此错误的人。知道如何处理。
我使用 hapi 版本 19.0.3
表格 hapi 19 发行说明:
默认情况下将路由 options.payload.multipart 更改为 false路由配置默认值已更改为禁用多部分处理。您需要为整个服务器启用它以保留以前的行为,或者仅为需要多部分处理的路由启用它。
server.route({
method: 'POST',
path: '/submit',
options : {
auth : false,
payload: {
output: 'stream',
parse: true,
allow: 'multipart/form-data',
multipart : true // <== this is important in hapi 19
},
handler: async (req, h) => {
console.log(req);
}
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)