我有这样的模特:
public class Model
{
[MaxLength(500)]
public string UserEmail { get; set; }
[Required]
[MaxLength(100)]
public string Product { get; set; }
// ... And other 10 parameters
public byte[] StatisticsData { get; set; }
public byte[] UserXmlFile { get; set; }
}
Api应该从具有multipart / formdata的客户端获取二进制数据的一些统计信息。有几种类似的方法有不同的模型,所以:
想以mvc风格绑定:)
[HttpPost]
public HttpResponseMessage SiteMark(Model model)
{
我读了这个解决方案Web API model binder doesn't work with HttpPostedFileBase?,但它似乎不太适合我的情况,也没有解决简单字段绑定的问题。
我考虑编写自定义ModelBinder,它使用标准绑定来处理简单字段。即使我们可以使用默认的mvc绑定器(webapi默认绑定似乎在自己的代码中不可用)。然后通过自定义代码读取周期中的所有二进制数据,并将其映射到二进制字段。
也许我错过了一些更简单的解决方案?