我有一个要求,我必须使用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类型。但我需要在同一个请求中做两件事。
请帮忙......
答案 0 :(得分:0)
您是否考虑过使用MultipartFormDataProvider
请求是具有'formurlencoded'数据+文件的多部分请求?...但是如果您的请求类似于'json'数据+文件,那么您可以使用{{ 1}} ...如果文件很大并且关注内存使用情况,您可以创建自定义MultipartMemoryStreamProvider
...