C# asp.net web Api 2.0中使用多部分formdata的直接模型绑定?

C# asp.net web Api 2.0中使用多部分formdata的直接模型绑定?,c#,asp.net,asp.net-mvc-4,asp.net-web-api,asp.net-web-api2,C#,Asp.net,Asp.net Mvc 4,Asp.net Web Api,Asp.net Web Api2,假设我们有一个html表单,它可以发布带有产品名称和描述的产品图像 产品名称: 说明: 图像文件 我想在不使用提供程序formdata的情况下检索“ProductName”和“Description”字段值 Web API控制器-- 我们可以很容易地得到所有的财产价值。但是我们可以制作如下的web Api函数: [HttpPost] public IHttpActionResult Upload(ProductInfo model){ return Content(HttpStatus

假设我们有一个html表单,它可以发布带有产品名称和描述的产品图像

产品名称: 说明: 图像文件 我想在不使用提供程序formdata的情况下检索“ProductName”和“Description”字段值

Web API控制器--

我们可以很容易地得到所有的财产价值。但是我们可以制作如下的web Api函数:

 [HttpPost]
  public IHttpActionResult Upload(ProductInfo model){
  return Content(HttpStatusCode.OK, true);
} 

Public Class ProductInfo {
   public string ProductName{ get; set; }
   public string Description{ get; set; }
}

您可以这样尝试,只需添加
IEnumerable files
作为参数。如果存在多部分表单数据,则
DefaultModelBinder
将自动正确绑定到参数类型

[HttpPost]
public IHttpActionResult Upload(ProductInfo model, 
                                IEnumerable<HttpPostedFileBase> files)
{
    return Content(HttpStatusCode.OK, true);
} 
[HttpPost]
公共IHttpActionResult上载(ProductInfo模型,
IEnumerable文件)
{
返回内容(HttpStatusCode.OK,true);
} 

您可以这样尝试,只需添加
IEnumerable files
作为参数。如果存在多部分表单数据,则
DefaultModelBinder
将自动正确绑定到参数类型

[HttpPost]
public IHttpActionResult Upload(ProductInfo model, 
                                IEnumerable<HttpPostedFileBase> files)
{
    return Content(HttpStatusCode.OK, true);
} 
[HttpPost]
公共IHttpActionResult上载(ProductInfo模型,
IEnumerable文件)
{
返回内容(HttpStatusCode.OK,true);
} 

WebAPI控制器显示如下错误无法将多个参数(“模型”和“文件”)绑定到请求的内容。我尝试了通用模型,但没有成功。我还通过fiddler检查了数据,看起来一切正常。WebAPI控制器显示如下错误无法绑定多个参数('model'和'files')添加到请求的内容中。我尝试过使用普通模型,但没有成功。我还通过fiddler检查了数据,看起来一切都很完美。