【问题标题】:How to read File with my WebApi Custom MediaTypeFormatter如何使用我的 WebApi Custom MediaTypeFormatter 读取文件
【发布时间】:2013-05-07 08:48:35
【问题描述】:

我正在创建一个 ASP.NET MVC WEBAPI 应用程序,我实际上正在实现一个自定义 MediaTypeFormatter 来处理某种类型的内容。 (例如 csv)

我的目标是阅读从我的网络浏览器中的表单发布的文件。但是我的 mediatypeformatter 的 read 方法永远无法达到。

有没有人有 MediaTypeFormatters 的工作示例,可以在其中读取发布的文件?

或者有人可以指出一个方向吗?

表格:

我收到此错误:没有 MediaTypeFormatter 可用于从媒体类型为“multipart/form-data”的内容中读取类型为“IEnumerable`1”的对象。

【问题讨论】:

    标签: c# asp.net csv asp.net-web-api mediatypeformatter


    【解决方案1】:

    Multi-part 有多个部分。所以,你需要像这样阅读它们:

    public async Task Post()
    {
        var multipart = await Request.Content.ReadAsMultipartAsync();
    
        foreach (var content in multipart.Contents)
        {
            var products = await content.ReadAsAsync<IEnumerable<Product>>();
        }
    }
    

    ReadAsAsync&lt;T&gt; 可以根据您拥有的媒体格式化程序读取请求 - 开箱即用和自定义。因此,在您的情况下,如果您配置了 CSV 格式化程序,则根据文件的 MIME 类型,它应该正确读取请求内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-13
      • 1970-01-01
      • 1970-01-01
      • 2013-06-20
      • 1970-01-01
      • 2022-08-23
      • 2012-08-05
      相关资源
      最近更新 更多