我正在使用LINQ从DataBase中检索数据,相对于链接的变量名是“service”。ASP.Net检查FileUpload控件是否为空
upDocument是FileUpload控件的Id。
目标是在上传新文件之前删除旧文件。 这是我想出了这个代码:
if ((service.image_url != null || service.image_url != "") &&
(upDocument.FileName.Length != 0 || upDocument.PostedFile.ToString() != ""))
{
if (File.Exists(System.Web.HttpContext.Current.Server.MapPath(service.image_url)))
{
File.Delete(System.Web.HttpContext.Current.Server.MapPath(service.image_url));
}
}
的问题,我有,是什么althought被加载到文件上传文件仍然被删除。我做了一个断点,并检查出来......并理解我期待的FileName.Length不是0,并且postingFile.ToString()不是“”。
我该如何做出正确的验证?
在此先感谢。
你的第一个条件('service.image_url')应该使用和('&&'),而不是或('||')。但是,它实际上应该调用'String.IsNullOrEmpty'。 – SLaks 2009-10-08 17:26:39
顺便说一句,'upDocument.PostedFile.ToString()'将始终是'“HttpPostedFile”',因为'HttpPostedFile'类不会覆盖'ToString'。因此,检查它没有意义。您应该检查'HasFile'。 – SLaks 2009-10-08 18:19:41