Fileupload saveas方法不会覆盖

时间:2011-10-26 18:05:04

标签: asp.net

我有一个非常简单的要求,有一个包含图像文件的文件夹,我有一个只有一个上传字段的表单来选择图像并用相同的现有图像名称保存它以覆盖它

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 \ website \ images \ home \ logo.png'被拒绝 即使文件夹上有完全的访问控制,但是如果我使用不同的名称保存它可以工作,它只会拒绝覆盖,我需要覆盖。我想先删除图像然后保存,但这很愚蠢,为什么我不能覆盖?

提前致谢

1 个答案:

答案 0 :(得分:5)

天真的解决方案:

If(File.Exists(logoPath + filename))
    File.Delete(logoPath + filename);
ImageUpload.SaveAs(logoPath + filename);