ASP.Net检查FileUpload控件是否为空

Mar*_*rco 0 c# asp.net file-upload

我使用LINQ从DataBase中检索数据,相对于链接的变量名是"service".

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));
     }
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,虽然没有任何东西被加载到FileUpload,但文件仍然被删除.我创建了一个断点并检查了它...并且与我期望的FileName.Length不是0,而且postsFile.ToString()不是""相反.

我该如何进行正确的验证?

提前致谢.

SLa*_*aks 6

检查HasFile酒店,如下所示:

if (!String.IsNullOrEmpty(service.image_url) && upDocument.HasFile) { 
    if (File.Exists(Server.MapPath(service.image_url)))
        File.Delete(Server.MapPath(service.image_url));
}
Run Code Online (Sandbox Code Playgroud)

顺便说一下,在ASP.Net页面内,你不需要写System.Web.HttpContext.Current,所以你可以简单地写Server.MapPath.