Ich habe versucht, eine benutzerdefinierte Modellbinder verwenden, aber meine request.files ist nicht ausgefüllt. Bei der IN Forms-Auflistung wird die Eingabe des Typs file für die Eigenschaft byte [] nur mit dem Dateinamen gefüllt. mvc generisch binding byte [] Eigenschaften
<input id="collection[@index][email protected]" name="collection[@index][email protected]" type="file" />
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace male.services.mvc.Binders
{
public class CustomModelBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
if (bindingContext.ModelType.GetProperties().Any(o => o.PropertyType == typeof(byte[])))
{
HttpRequestBase request = controllerContext.HttpContext.Request;
foreach (var pi in bindingContext.ModelType.GetProperties().Where(o => o.PropertyType == typeof(byte[])))
{
// can't access any property in the parameters that gives me my file input or my stream
}
return base.BindModel(controllerContext, bindingContext);
}
else
{
return base.BindModel(controllerContext, bindingContext);
}
}
}
}