使用 MVC 处理 asp.net 发布的图像

本文关键字:图像 net MVC 处理 asp 使用 | 更新日期: 2023-09-27 18:33:27

我想使用 mvc4 一次保存多个图像 asp.net。在视图侧,我有 5 个浏览按钮,我成功了。在操作IEnumerable<HttpPostedFileBase> postedPhotos后获取控制器端的这些文件作为参数。

  1. 我想知道postedPhotos[0]是否已发送,如果是,请将其保存到数据库中。
  2. 迭代剩余的已发布照片集,并仅对实际包含照片的照片采取进一步操作(用户只能发送一两张图像而不是五张)

所以我尝试了

if(postedPhotos.First() != null)
foreach(var photo in postedPhotos.Where(x=>x.ContentLength>0))
{....}

但这不起作用,因为我正在接触 null 值postedPhoto并且我收到异常

Object reference not set to an instance of an object.

当然,如果我发送所有五张照片,一切正常,但我很想知道如何处理这种情况。

谢谢

使用 MVC 处理 asp.net 发布的图像

尝试:

if(postedPhotos != null && postedPhotos.FirsOrDefault() != null) 

First()FirstOrDefault() 之间的区别在于,如果集合中没有项,First()将引发异常,而 FirstOrDefault() 只返回 null。

您也可以使用 Any() 而不是 FirstOrDefault() != null

关于你的第二个问题:我不太清楚你在这里想要什么。仅当集合中有任何项时,foreach循环才会迭代。