对于基本视图模型属性,HttpPostedFileBase在POST上为0字节

时间:2015-01-25 17:12:16

标签: c# asp.net-mvc httppostedfilebase

我在视图模型上正确地发布了图像和绑定到HttpPostedFileBase属性,但是当我在视图模型的基类中放置相同的属性时,它没有模拟绑定字节。它仍然显示图像名称,但不显示内容流。

我测试了我能想到的一切。请帮忙!

这些图片讲述了整个故事: enter image description here enter image description here enter image description here enter image description here enter image description here

提前致谢。如果有什么事情不清楚,请告诉我。

更新

我认为这是一个合法的错误。在发布SO之前,我尝试了以下所有建议(截至1/26)。我也尝试过: 1.将基本属性创建为虚拟并在子类中重写它 2.在子类中创建一个新属性,它只获取/设置基本属性

我的解决方案,远非优雅,是添加一个"临时"子类的属性和MVC操作方法中的第一件事物为它设置了基本属性。我希望有一个真正的解决方案,我可以恢复这个修道院并进行适当的修复。

1 个答案:

答案 0 :(得分:0)

如果是我,我会为模型类创建一个v.simple自定义绑定器并手动操作它。可能更容易做到这一点(并且对于将来的维护更为明显),而不是尝试取消DefaultModelBinder的缺陷。此外,这意味着您不必(不必要地)污染您的模型结构/控制器操作/单元测试。

这是一篇关于如何基于默认模型绑定器创建活页夹的好文章:http://www.codeproject.com/Articles/605595/ASP-NET-MVC-Custom-Model-Binder

HTH