Как загрузить файл вместе с некоторым сложным типом в ASP.NET WebAPI

У меня есть требование, когда я должен загрузить файл с помощью WEB API. Поэтому создал контроллер API для Post и обработал данные многокомпонентной формы, и я смог успешно загрузить файлы. Но мне нужно передать сложный тип со свойствами, такими как FileName, Description, FormId и т. д. вместе с файлом. Итак, как добиться этого с помощью одного пост-контроллера. Например.)

public HttpResponseMessage Post([FromBody] MyComplexType myType)
{
    //Here I get the files from Request.Content.ReadAsAsyncStream();
    // myType is always null. 
}

Также со стороны клиента (клиент Javascript и .NET) я могу опубликовать либо Mutlipart Formdata, либо сложный тип. Но мне нужно сделать оба в том же запросе.

Пожалуйста помоги....


person s-atv    schedule 19.12.2013    source источник
comment
У вас есть ответ на эту проблему?   -  person Marin    schedule 21.11.2014


Ответы (1)


Изучали ли вы использование MultipartFormDataProvider, где запрос представляет собой составной запрос, содержащий данные + файлы в формате «formurlencoded»?... но если ваш запрос похож на данные + файлы «json», вы можете использовать MultipartMemoryStreamProvider... если файлы огромны и использование памяти вызывает беспокойство, вы можете создать собственный MultipartStreamProvider...

person Kiran Challa    schedule 20.12.2013