【问题标题】:The request.payload.file property is always undefined in HapijsHapijs 中的 request.payload.file 属性始终未定义
【发布时间】:2020-06-15 00:22:46
【问题描述】:

我正在尝试为我的 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,但这也不起作用。

【问题讨论】:

    标签: node.js hapijs nodejs-stream


    【解决方案1】:

    这些设置对我有用:

        options: {
            payload: {
                maxBytes: 10485760,
                parse: true,
                output: 'stream',
                allow: ['multipart/form-data'],
                multipart: true
            }
        }
    

    另外,我不得不切换到 Insomnia 进行测试,因为 Postman 出于某种原因给了我一个 bad-request 错误。我记得过去经历过类似的事情。

    【讨论】:

      猜你喜欢
      • 2016-05-18
      • 1970-01-01
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 2021-11-21
      • 2016-08-03
      • 2011-12-16
      • 2019-03-28
      相关资源
      最近更新 更多