2013-10-31 28 views
0

我的.cs代碼形象沒有得到文件夾

int ID = 24; 
    DAL objdal = new DAL(); //class 
    DataTable dt = new DataTable(); 
    dt = objdal.select_delete_image(ID); //method to select and delete 
    string imagedel = ""; 
    if (dt.Rows.Count > 0) 
{ 
    //image delete 
    imagedel = dt.Rows[0]["image_url"].ToString(); 
    File.Delete((Server.MapPath("~/Admin/images/projects/small/" + imagedel.ToString())));  // process to delete 
    File.Delete((Server.MapPath("~/Admin/images/projects/large/" + imagedel.ToString())));  // process to delete    

    } 
    string strScript = "<script language='JavaScript'>alert('Image Deleted Successfully')</script>"; 
    Page.RegisterStartupScript("PopUp", strScript); 

這裏的數據庫條目被刪除刪除,但是從文件夾中的圖片不會被刪除。

這一切工作在本地主機正常,但如果該代碼從數據庫DT = objdal.select_delete_image(ID)已刪除的數據發生在服務器側

+0

嘗試使用'File.Exists(....)'如果返回true,則應該刪除文件(如果您具有文件訪問權限)。 –

+0

讓我看看圖像 保存在數據庫中的網址... – Ajay

+0

你能否檢查一下你的「File.Delete」是否真的被執行了。 File.Delete應該拋出一個錯誤,如果它不能夠刪除文件,或者你得到任何異常? – wizzardz

回答

0

問題;那麼這個語句如何工作(dt.Rows.Count> 0),交叉檢查dt是否包含任何數據。如果它有數據,然後跨越您提供的用於刪除圖像的文件路徑。可能是你的文件路徑不正確。

+0

我檢查了我的dt,它從我的數據庫中導入圖像名稱,並且圖像路徑也是正確的。 – Alps

+0

試試這個,檢查你的文件是否存在(TheFile1.Exists) File.Delete(MapPath(「Foldername」)+「\\」+「imagedel」); } –

+0

圖像文件已經存在,我可以在FTP(filezila)中看到該文件。如果我手動從FTP中刪除圖像,則會出現錯誤「550進程無法訪問文件,因爲它正在被另一個進程使用。」 – Alps

相關問題