asp.net-mvc - ASP.NET Web API,从 Flex FileReference 上传时 MIME 多部分流意外结束

标签 asp.net-mvc apache-flex asp.net-web-api

按照 ASP.NET 上的教程,实现了用于执行异步文件上传的 Web API Controller 方法,如下所示:

public Task<HttpResponseMessage> PostFormData()
{
    // Check if the request contains multipart/form-data.
    if (!Request.Content.IsMimeMultipartContent())
    {
        throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
    }

    string root = HttpContext.Current.Server.MapPath("~/App_Data");
    var provider = new MultipartFormDataStreamProvider(root);

    // Read the form data and return an async task.
    var task = Request.Content.ReadAsMultipartAsync(provider).
        ContinueWith<HttpResponseMessage>(t =>
        {
            if (t.IsFaulted || t.IsCanceled)
            {
                Request.CreateErrorResponse(HttpStatusCode.InternalServerError, t.Exception);
            }

            return Request.CreateResponse(HttpStatusCode.OK);
        });

    return task;
}

通过标准的多部分 HTML 表单上传文件效果非常好。但是,当另一个开发人员尝试通过 Flex 的 FileReference 类构造的多部分表单上传文件时,会抛出错误:

Unexpected end of MIME multipart stream. MIME multipart message is not complete.

我不知道问题出在 Web API 还是 Flex 上。我发现了一些没有影响的相关修复( Multipart form POST using ASP.Net Web API ),最近发现了这个( "MIME multipart stream. MIME multipart message is not complete" error on webapi upload )。如果第二个链接成立,有谁知道它是否在通过 Nuget 提供的当前版本的 Web API 中?讨论是在 5 月份进行的,Nuget 的最新版本是在 8 月份,因此我认为此修复程序已经部署,并且不是我的问题的根本原因。

最佳答案

我在使用 MVC4 时遇到了同样的问题,但是 Will 是正确的,请在您的输入中添加一个名称......

<input type="file" id="fileInput" name="fileInput"/>

所有的魔力都恢复正常了!

关于asp.net-mvc - ASP.NET Web API,从 Flex FileReference 上传时 MIME 多部分流意外结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13770536/

相关文章:

javascript - 下载大文件时浏览器崩溃

c# - 从 Web API 帮助页面中排除媒体类型示例

asp.net-mvc - 使用 jQuery $.ajax() 和 $.post() 将字符串数据发送到 MVC Controller

jquery - 如何在 ASP.NET MVC 中进行长轮询 AJAX 请求?

c# - 对 MVC 中的实体所做的更改未提交到数据库

apache-flex - 在 MAC 上哪里可以找到 IntelliJ IDEA 9.0 的 Flex 插件?

ruby-on-rails - 尝试将文件从Flex上传到Rails时发生异常(使用回形针)

c# - 当返回类型为 HttpResponseMessage 时,Web Api Get() 路由不起作用

asp.net-mvc - Visual Studio 2012 ASP.NET MVC 连接字符串 Web.Config

php - 如何使用循环从 php 单元格中检索和显示包含对象的数组?