如何在ASP.NET WebAPI中上传文件和一些复杂类型

时间:2013-12-19 08:04:36

标签: c# javascript asp.net-web-api complextype

我有一个要求,我必须使用WEB API上传文件。因此为Post创建了一个api控制器并处理了多部分表单数据,我可以成功上传文件。但我需要传递一个复杂类型,其中包含FileName,Description,FormId等属性以及文件。那么如何使用单个Post Controller实现这一目标。例如。)

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

同样来自客户端(Javascript和.NET客户端)我可以发布Mutlipart Formdata或Complex类型。但我需要在同一个请求中做两件事。

请帮忙......

1 个答案:

答案 0 :(得分:0)

您是否考虑过使用MultipartFormDataProvider请求是具有'formurlencoded'数据+文件的多部分请求?...但是如果您的请求类似于'json'数据+文件,那么您可以使用{{ 1}} ...如果文件很大并且关注内存使用情况,您可以创建自定义MultipartMemoryStreamProvider ...