拒绝访问Web服务器文件

时间:2018-06-28 16:26:29

标签: c# asp.net

我正在使用运行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,字符串mayFullPath)处

编辑: 这是用于打开文件的代码。路径目前已硬编码

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

2 个答案:

答案 0 :(得分: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))

答案 1 :(得分:0)

如果您希望应用程序读取模板文件,请将其放在App_Data文件夹中