发送多部分发布请求时出现问题

时间:2017-03-21 19:03:06

标签: javascript node.js http-post multipartform-data hapijs

我使用js来处理带有multipart / form-data的post请求。当客户端使用multipart / form-data发送post请求时,它总是返回错误的请求错误。当我通过邮递员发送请求时,它给出了错误:“发送多部分邮件请求时无效的多部分有效载荷格式”。无论我使用哪种调用方法,服务器端都没有动作。

{
        method: "POST",
        path: "/uploadFile",
        config: {
            payload: {
                output: "stream",
                parse: true,
                allow: "multipart/form-data"
            },
            handler: (request, reply) => {
                console.log("get into handler");
                let data = request.payload;
                if (data.file) {
                    let name = data.file.hapi.filename;
                    console.log(name);
                } else {
                    console.log("no data");
                }
            }
        }
    }

客户端代码如下:

$http({
               method: 'POST',
               url: serviceURL
               headers: {
                   'Content-Type': 'multipart/form-data; boundary=--xxxxSEPARATIONxxxx--'
               },
               data: formData
           });

1 个答案:

答案 0 :(得分:1)

看起来您正在为客户端使用角度框架。 根据我的经验,将标题中的“Content-Type”更改为未定义,浏览器将为其设置正确的格式。还要添加transformRequest:angular.identity 参考this链接。

您的代码应如下所示:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    myConnection.ConnectionString = OpenConnection() <----- Change ConnectionString to connString
    myConnection.Open()

希望这对你有用。