如果为空

时间:2017-02-02 12:02:36

标签: c# asp.net-mvc file-upload

大家好我正在使用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" })

1 个答案:

答案 0 :(得分:0)

Hello @ARandomUserNamedChuck,

我没有可靠的解决方案,但我认为解决这个问题的方法应该是理论上的:你应该使用for循环并使用.length将文本和图像字段转换为字符串。在此之后,您将调用上传所在的字段,如果其空白但文本字段已打开,则您仍然继续该过程。希望这种方法有所帮助。