【发布时间】:2012-02-07 22:26:39
【问题描述】:
我在尝试删除文件时遇到问题,但出现异常。
if (result == "Success")
{
if (FileUpload.HasFile)
{
try
{
File.Delete(Request.PhysicalApplicationPath + app_settings.login_images + txtUploadStatus.Text);
string filename = Path.GetFileName(btnFileUpload.FileName);
btnFileUpload.SaveAs(Request.PhysicalApplicationPath + app_settings.login_images + filename);
}
catch (Exception ex)
{
Message(ex.ToString());
}
}
}
另外我应该注意,我试图从中删除的文件夹对网络服务具有完全控制权。
完整的异常消息是:
System.UnauthorizedAccessException:对路径“C:\Users\gowdyn\Documents\Visual Studio 2008\Projects\hybrid\hybrid\temp_loginimages\enviromental.jpg”的访问被拒绝。在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 在 System.IO.File.Delete(String path) 在 hybrid.User_Controls.Imgloader_Add_Edit_Tbl.btnUpdate_Click(Object sender, EventArgs e) 在 C:\Users\gowdyn\ Documents\Visual Studio 2008\Projects\hybrid\hybrid\User_Controls\Imgloader_Add_Edit_Tbl.ascx.cs:line 242
有什么想法吗?
【问题讨论】:
-
异常有什么不清楚的地方?运行应用程序的帐户没有文件/文件夹的访问权限。
-
我明白异常在说什么。问题是一些需要使用系统修改图像的用户使用此功能。其中一部分是通过删除旧图像并保存新图像来替换图像。
-
检查您对该文件夹的访问权限。使用属性窗口中的安全选项卡为文件夹授予适当的权限
-
该异常根本不提供信息。它不会告诉您: A. 什么主体试图访问资源 B. 它需要什么权限。要找出答案,需要安装 Windows SysInternals 并监控路径访问。
标签: c# asp.net io unauthorizedaccessexcepti