2011-01-07 36 views
0

我想从我的应用程序中删除图像代码为: File.Delete(filePath);通过C#代码删除文件时出错

但我发现了异常:

访问路径 'd:\我的项目\上传\ photo_calender.jpg' 被拒绝。

该图片可在导演中找到。

请给我一些关于如何处理这个问题的建议。

感谢&问候,

Munish

+0

这是从一个网络应用程序? – leppie 2011-01-07 07:48:16

回答

3

我假设你拥有所有必要的ACL删除该文件,并怀疑;该文件将处于* read_only *模式,这将导致特定的异常。

尝试用设置模式文件编程:

 
File.SetAttributes(fileName, FileAttributes.Normal); 
File.Delete(fileName); 
+0

如果没有上述工作,试试这个:即使在重新启动之后,文件句柄有时仍然会被某些程序锁定。如果情况可能如此,那么使用Sysinternals的procexp解锁, – 2011-01-07 09:09:01

1

你想删除它之前关闭所有句柄到这个文件?这也可能是这种例外的原因。

1

您需要确保您的进程运行的凭据具有足够的权限来访问目标目录并删除文件。当然,如果有的话,你需要清除R/O标志。