上传图片对路径“ImageFile/B-0000-0002”的访问被拒绝。

本文记录了一次解决ASP.NET应用中文件访问被拒绝的问题经历。通过添加Everyone用户组到文件夹的安全设置中,成功解决了由权限不足引起的异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过生产编号在自己电脑的项目里动态创建文件夹,然后上传照图到此文件夹.,显示错误.
对路径“E:/Lover/ImageFile/B-0000-0002”的访问被拒绝。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.UnauthorizedAccessException: 对路径“E:/Lover/ImageFile/B-0000-0002”的访问被拒绝。

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}/ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。

要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。

源错误:


行 59:                 string path = Server.MapPath(@"../ImageFile/" + txtShopid.Text);
行 60:                 //将图片上传到
行 61:                 Fp1.PostedFile.SaveAs(path);

 创建文件夹是没问题的.已近成功了.

我试过很多种方法。
重新注册
aspnet_regiis -u
aspnet_regiis -i
没效果....
google 上有的说 文件夹权限设置下.可我文件夹就没“安全”这个选项卡,
有的说 将aspnet这个用户添加到admin组当中.我电脑上安装 sql 2005,vs2008 发现没有了aspnet这个账户,我又下载netfromwork2.0发现安装不上,然后下载了个.netFromWork4.0的,安装成功。aspnet这个用户也有了.然后添加用户到
admin组,重试...我很失望.绝望中.......重装系统.可结果是还是没用。错误仍在.
现在aspnet这个用户仍然没有.
我现在项目还没发布.用的vs自带的iis调试的.所以和iis没关系的。
问题很郁闷.

 

现在解决这个问题了。不过还是没了解里面的原理. 文件夹安全项里添加个everyone 用户组就可以了。虽然解决了.但还是没明白里面的原有。用C#创建的文件夹.那在没有安装iss 或者说没发布之前.用vs自带的调式iss 那创建这个文件夹的权限是谁呢?是电脑的admin?那是不会的。要是的话就不会出现这样的错误了.那以前我也这么创建的为什么又有这个上传的权限呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值