ASP.NET删除文件系统上的文件?

时间:2009-07-29 16:01:24

标签: c# asp.net

作为某些代码逻辑的一部分,该组件将用户上载的文件下载到特定目录。

我正在使用

System.IO.File.Delete(file1);
System.IO.File.Delete(file2);

删除文件。我不认为本地系统帐户IUSR帐户有权这样做。

处理ASP.NET中文件删除的最佳做法是什么?

4 个答案:

答案 0 :(得分:5)

  1. 在您的网络应用程序中创建 文件夹以存储文件(即重新发布网站时,不受影响)
  2. 为该文件夹授予对IUSR帐户(或您正在运行的任何应用程序池标识)的适当权限。
  3. 将该文件夹的路径存储在web.config中,这样您就不必为其更改代码。

答案 1 :(得分:1)

在保存之前删除文件将自动刷新

System.IO.File.Delete(文件路径); fupedit.SaveAs(使用Server.Mappath(文件路径));

答案 2 :(得分:0)

如果您需要删除该文件,则必须为ASP.NET进程帐户(Server 2003和Vista上的NETWORK SERVICE)授予删除文件的适当权限。

我通常会有一个“处理”文件夹,这样我就可以只为该目录授予适当的权限。

答案 3 :(得分:0)

我使用Impersonation运行asp.net网站,并在受信任的域帐户用户下进行身份验证。然后授予该用户对包含要删除的文件的文件夹的写权限。