图片上传和图片.内容长度> 0
本文关键字: | 更新日期: 2024-11-06 05:58:04
>我有一些照片的对象街道。我正在尝试在与创建新街道对象相同的表单上实现上传。因此,对带有字段的 mvc Web 表单进行成像
- 街道名称
- 门牌号
- 照片1
- 照片2
- 照片3
现在,在create.cshtml页面上,我有带有StreetName
和StreetNumber
字段的表单,以及
<input type="file" name="postedImages" />
<input type="file" name="postedImages" />
<input type="file" name="postedImages" />
提交此表格后,我将这些数据发送到街道控制器进行进一步处理
[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 张图像,则会发生错误。
如何解决这个问题?谢谢
在访问ContentLength
程序之前添加null
检查
if((image!=null) && (image.ContentLength >0))
{
//process and save images
}
foreach(var image in postedImages.Where(pi => pi != null))
你可以做这样的事情:
If(image != null)
if(image.ContentLength > 0)
{
//code
}
在获取属性之前检查其是否为空,这是错误的原因。