我有对象街有一些照片。我正在尝试在与创建新街道对象相同的表单上实现上传。因此,使用字段
对mvc Web表单进行映像现在,在create.cshtml页面上,我的表单包含StreetName
和StreetNumber
字段,
<input type="file" name="postedImages" />
<input type="file" name="postedImages" />
<input type="file" name="postedImages" />
在提交此表单时,我将这些数据发送到StreetController以进行进一步处理
[HttpPost]
public ActionResult Create(StreetViewModel newData, IEnumerable<HttpPostedFileBase> postedImages)
{
//create object and save stretname and streetnumber
//process posted images
foreach(var image in postedImages)
{
//this is where error occured if I post only one or two images from my view
if(image.ContentLength >0)
{
//process and save images
}
}
}
如果我发布网页上提供的确切数量的图像,你可以阅读我评论的内容,一切都很好,但是如果我发送了1或2个图像错误发生了。
如何解决这个问题?感谢
答案 0 :(得分:2)
在访问null
proeprty之前添加ContentLength
检查
if((image!=null) && (image.ContentLength >0))
{
//process and save images
}
答案 1 :(得分:2)
foreach(var image in postedImages.Where(pi => pi != null))
答案 2 :(得分:2)
你可以这样做:
If(image != null)
if(image.ContentLength > 0)
{
//code
}
在获取属性之前检查它是否为空,这就是错误的原因。