在Asp.Net中使用C#删除文件ion Web[英] Delete file ion Web in Asp.Net using C#

问题描述


我写了这段代码

protected void BtnDelete_Click(对象 发送者,EventArgs e){File.Delete(Server.MapPath("~/Documents/") + "lnkAttachment.Text");}

它不是删除文件.其次,我想给用户一个机会,无论他是否想删除它.
谢谢

推荐答案

你需要给IIS分配权限才能访问该文件夹才能删除这个文件

在这里阅读更多 http://www.tugberkugurlu.com/archive/local-iis-7-0-cs0016--could-not-write-to-output-file-microsoft-net-framework-v4-0-30319-temporary-asp-net-files[^]

其次,此代码将删除托管站点的服务器上的文件,而不是用户计算机上的文件.

您可以向用户显示一个 javascript 确认框,以检查他是否真的要删除该文件.

1.
System.IO.FileInfo f = new System.IO.FileInfo("你的文件路径");f.Delete();


2.设置按钮的OnClientClick属性为
OnClientClick ="return javascript:confirm(''Are you sure to delete?'')";

Temporary ASP.NET Files 文件夹 (c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files)是这里有问题的那个.首先,我认为问题与文件夹的安全权限有关,我是对的.

我右键单击 Temporary ASP.NET Files 文件夹并转到安全选项卡.我注意到有一个名为 IIS_IUSRS 的用户,并且那个人拥有完全控制权限.但显然这还不够.

临时 ASP.NET 文件和 C:\Windows\temp 文件夹应具有具有完全控制权限的 IIS_WPG 和 NETWORK SERVICE 用户.我不知道为什么 C:\Windows\temp 文件夹需要它,但我没有努力去尝试找到它.相反,我正在写一篇关于这个问题的博客文章.也许以后我也会解决这个问题并弄清楚

应用这些设置后,重新启动 IIS 并尝试再次运行应用程序.现在错误应该已经消失了.

试图找到解决问题的正确方法让我受了很多苦,我希望你不必为此受尽折磨.

编辑:

参考:http://www.tugberkugurlu.com/archive/local-iis-7-0-cs0016--could-not-write-to-output-file-microsoft-net-framework-v4-0-30319-temporary-asp-net-files[^]

本文地址:https://www.itbaoku.cn/post/1395119.html