大家好我正在使用asp.net mvc创建一个带有codefirst数据库的应用程序,该数据库允许用户在数据库中存储图像和一些文本,但我希望用户能够自己提交文本,没有图像。问题是,如果用户提交没有图像的文本,它会在此行崩溃if(file.ContentLength> 0) 并给出一个空引用异常。谢谢你的帮助。
foreach (HttpPostedFileBase file in model.Files)
{
if (file.ContentLength > 0)
{
string fileName = file.FileName;
string Extension = Path.GetExtension(fileName);
string path = Path.Combine(Server.MapPath("~/Images/"), fileName);
file.SaveAs(path);
MyModel image = new MyModel()
{
Path = fileName,
FileName = fileName
};
post.Images.Add(image);
}
}
视图
@Html.TextBoxFor(model => model.Files, new { type = "file", multiple = "multiple" })
答案 0 :(得分:0)
Hello @ARandomUserNamedChuck,
我没有可靠的解决方案,但我认为解决这个问题的方法应该是理论上的:你应该使用for循环并使用.length将文本和图像字段转换为字符串。在此之后,您将调用上传所在的字段,如果其空白但文本字段已打开,则您仍然继续该过程。希望这种方法有所帮助。