相关疑难解决方法(0)

WebAPI无法解析multipart/form-data帖子

我正在尝试接受来自客户端(iOS应用程序)的帖子,我的代码仍然无法读取流.说消息不完整.我一直试图让这个工作好几个小时似乎我的消息格式有些不对劲.我所要做的就是读取一个字符串,但我正在处理iOS开发人员的开发人员只知道如何发送multipart/form-data而不是content-type json.

这是确切的错误:

MIME多部分流的意外结束.MIME多部分邮件不完整."

它失败了: await Request.Content.ReadAsMultipartAsync(provider);

头:

POST http://localhost:8603/api/login HTTP/1.1
Host: localhost:8603
Accept-Encoding: gzip,deflate
Content-Type: multipart/form-data; boundary=------------nx-oauth216807
Content-Length: 364
Accept-Language: en-us
Accept: */*
Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)

身体:

--------------nx-oauth216807
Content-Disposition: form-data; name="token"

CAAH5su8bZC1IBAC3Qk4aztKzisZCd2Muc3no4BqVUycnZAFSKuleRU7V9uZCbc8DZCedYQTIFKwJbVZCANJCs4ZCZA654PgA22Nei9KiIMLsGbZBaNQugouuLNafNqIOTs9wDvD61ZA6WSTd73AVtFp9tQ1PmFGz601apUGHSimYZCjLfGBo40EBQ5z6eSMNiFeSylym1pK4PCvI17fXCmOcRix4cs96EBl8ZA1opGKVuWizOsS0WZCMiVGvT
--------------nx-oauth216807--
Run Code Online (Sandbox Code Playgroud)

这是WebAPI代码:

    public async Task<HttpResponseMessage> PostFormData()
    {
        // Check if the request contains multipart/form-data.
        if (!Request.Content.IsMimeMultipartContent())
        {
            throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
        }
        try
        {
        string root = HttpContext.Current.Server.MapPath("~/App_Data");
        var provider = new MultipartFormDataStreamProvider(root);

        // Read the form data and return an async task.
        await Request.Content.ReadAsMultipartAsync(provider);

        // This illustrates how …
Run Code Online (Sandbox Code Playgroud)

c# asp.net json ios asp.net-web-api

14
推荐指数
3
解决办法
3万
查看次数

标签 统计

asp.net ×1

asp.net-web-api ×1

c# ×1

ios ×1

json ×1