gpt4 book ai didi

asp.net-mvc - 无法访问文件

转载 作者:行者123 更新时间:2023-12-04 08:21:37 27 4
gpt4 key购买 nike

我继承了一个新项目。该网站 (MVC.NET) 正在引用 Windows 2012 服务器上的文件位置(它似乎是硬编码的),但该文件与该网站不在同一目录中。

部分代码使用 File.Copy 将文件从一个位置复制到另一个位置,但这会导致异常。

显然它昨天有效,今天却没有。该网站已关闭,因此我正在寻求解决它。

来自浏览器的错误消息是

Access to the path 'C:\Websites\Website\Content\Images\Uploads\Certificate 1.jpg' is denied.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.UnauthorizedAccessException: Access to the path 'C:\Websites\Website\Content\Images\Uploads\Certificate 1.jpg' is denied.

ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6 and IIS 7, and the configured application pool identity on IIS 7.5) that is used if the application is not impersonating. If the application is impersonating via , the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.

To grant ASP.NET access to a file, right-click the file in File Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.



解决这个问题的最简单方法(作为临时修复只是为了让网站启动和运行)我认为是授予该文件夹的完全权限,这意味着添加 Everyone完全许可。它没有用。我不好奇为什么。

我知道这有风险,但我的问题是为什么这不起作用。为什么我仍然看到相同的错误消息?

我可以 RDP 进入服务器并毫无问题地访问文件。因此,我不认为这是服务器问题(对于 ServerFault 或 SuperUser)。

我怀疑这是 .NET 中的保护措施。以同样的方式(如果我没记错的话)我们必须在 IIS 中设置特殊权限以允许 ASP 中的父路径。

我需要做什么?

编辑

我已经将网站上传到另一台服务器,同样的问题仍然存在,表明故障与计算机无关,而更多是由于.NET或IIS

IIS 设置为使用集成托管管道(非经典),我尝试为 NETWORK SERVICE 和 IUSR 添加权限。

最佳答案

解决方案很奇怪......我不明白为什么/如何,但我明白什么。我不知道这是否对其他人有帮助,但无论如何我都发布了答案

该应用程序允许上传图片,这些图片存储在

C:\someUploads

加载网站后,它将文件从 C:\someUploads 复制到原始帖子中所示的网站路径。

这就是问题发生的地方。我删除了网站路径中的所有图像(如原始帖子所示)并重新启动了网站,它正常工作,按预期复制了所有文件。我关闭了网站,重新启动了 IIS 和应用程序池(回收),它仍在工作。

关于asp.net-mvc - 无法访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43921269/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com