簡體   English   中英

如何使用WebApi自定義MediaTypeFormatter讀取文件

[英]How to read File with my WebApi Custom MediaTypeFormatter

我正在創建一個ASP.NET MVC WEBAPI應用程序,其中實際上是在實現一個自定義MediaTypeFormatter以處理某種類型的內容。 (例如,csv)

我的目標是讀取從Web瀏覽器中的表單發布的文件。 但是從來沒有達到我的mediatypeformatter的read方法。

有沒有人有一個MediaTypeFormatters的工作示例,可以在其中讀取發布的文件?

還是可以指出一個方向?

FORM:<form action =“ / API / controller / sendfile” method =“ post” enctype =“ multipart / form-data”>

我收到此錯誤:沒有MediaTypeFormatter可用於從媒體類型為“ multipart / form-data”的內容中讀取類型為“ IEnumerable`1”的對象。

多部分有多個部分。 因此,您需要閱讀它們,如下所示:

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類型,它應該正確讀取請求內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM