我正在使用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