1
我有一個非常簡單的要求,有一個文件夾包含一個圖像文件,我有一個窗體只有一個上傳字段選擇一個圖像,並保存與相同的現有圖像名稱來覆蓋它Fileupload saveas方法不覆蓋
protected void ChangeLogo(object sender, EventArgs e)
{
if (!ImageUpload.HasFile)
{
ShowPopup("Logo Upload Canceled", "Please upload the image for the logo.", "stop");
}
else //save the image
{
string logoPath = Server.MapPath("~/images/home/");
string filename = "logo.png";
ImageUpload.SaveAs(logoPath + filename);
}
}
我得到一個錯誤: 訪問路徑「C:\的Inetpub \ wwwroot的\網站\圖片\家\ logo.png」被拒絕 即使是在文件夾上完全的訪問控制,但如果我用另一個名字保存它,它只拒絕覆蓋,我需要覆蓋。我想先刪除圖像然後保存,但這很愚蠢,爲什麼我不能覆蓋?
在此先感謝
由於'FileUpload'使用'FileMode.Create',我的直覺是,這是行不通的,它是在現有的文件權限問題。 –
是的,總是刪除,你不能指望釋放的文件句柄。這也發生在File.IO.MoveFile與複製然後刪除。這是一個底層的Win32事情。 –
是的柯克,原來這是一個權限問題,覆蓋的圖像被標記爲只讀:S 它取消選中它後正在工作。 謝謝所有 – Yasmine