【问题标题】:Access denied to web server file拒绝访问 Web 服务器文件
【发布时间】:2018-06-29 00:34:42
【问题描述】:

我正在开发一个运行 Excel 报告的 Web 应用程序,并且我正在使用保存在服务器上的 Excel 模板文件。当我在本地运行它时它工作正常,但是当我尝试在服务器上运行 Excel 报告时,我收到一条错误消息,指出对保存在同一目录中的模板文件的访问被拒绝,但是当我导航到时我可以下载模板文件它在浏览器中。

我授予所有人对该文件的完全访问权限,以查看是否是问题所在,但我仍然收到错误消息。我忽略了什么?

error errorId="05d6462e-8bb5-401d-85bc-cd4d9e36fc90" application="/LM/W3SVC/8/ROOT" host="USFLWCT0" type="System.UnauthorizedAccessException" message="访问路径'\ usflwct0\D$\SherlockRoot\Files\Volume_by_Week_Template.xlsx' 被拒绝。” source="mscorlib" detail="System.UnauthorizedAccessException: 访问路径 '\usflwct0\D$\SherlockRoot\Files\Volume_by_Week_Template.xlsx' 被拒绝。在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at

编辑: 这是用于打开文件的代码。路径现在是硬编码的

using (var template = System.IO.File.OpenRead(@"\\usflwct0\D$\SherlockRoot\Files\Volume_by_Week_Template.xlsx"))

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    您正在使用 Windows 为每个驱动器创建的管理员共享之一,在本例中为 D$ 共享。它们只能由管理员级别的用户访问。您应该直接共享您想要的文件夹,例如将D:\SherlockRoot\Files文件夹共享为SherlockFiles,您可以像\\usflwct0\SherlockFiles\Volume_by_Week_Template.xlsx或代码一样访问内容:

    var file = @"\\usflwct0\SherlockFiles\Volume_by_Week_Template.xlsx"
    using (var template = System.IO.File.OpenRead(file))
    

    【讨论】:

      【解决方案2】:

      如果你想让应用程序读取模板文件,把它放在 App_Data 文件夹中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-16
        • 2014-07-14
        • 2018-06-14
        • 2020-01-24
        相关资源
        最近更新 更多