【问题标题】: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 的工作示例,可以在其中读取发布的文件?
或者有人可以指出一个方向吗?
表格:
【问题讨论】:
标签:
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<T> 可以根据您拥有的媒体格式化程序读取请求 - 开箱即用和自定义。因此,在您的情况下,如果您配置了 CSV 格式化程序,则根据文件的 MIME 类型,它应该正确读取请求内容。