Как читать данные в форме нескольких частей в .net web api controller

public class Sampleontroller:apicontroller
 {    
    public void PostBodyMethod() {
        HttpRequestMessage request=this.request;
     //How to read the multi part data in the method
    }
}

Я отправляю данные с несколькими частями в контроллер webapi. Как читать содержимое в методе?

Ответ 1

Пример "async":

public async Task<HttpResponseMessage> PostSurveys()
    {
        // Verify that this is an HTML Form file upload request
        if (!Request.Content.IsMimeMultipartContent("form-data"))
        {
            return Request.CreateResponse(HttpStatusCode.BadRequest);
        }

            //Destination folder
            string uploadFolder = "mydestinationfolder";

            // Create a stream provider for setting up output streams that saves the output under -uploadFolder-
            // If you want full control over how the stream is saved then derive from MultipartFormDataStreamProvider and override what you need.            
            MultipartFormDataStreamProvider streamProvider = new MultipartFormDataStreamProvider(uploadFolder );                
            MultipartFileStreamProvider multipartFileStreamProvider = await Request.Content.ReadAsMultipartAsync(streamProvider);

            // Get the file names.
            foreach (MultipartFileData file in streamProvider.FileData)
            {
                //Do something awesome with the files..
            }
}