我的网络上有一个文件-我们会说它位于以下位置:
服务器名称/文件夹1 /文件夹2 / file.xlsx
在我的Web应用程序中,当用户单击链接时,我正在尝试下载此文件。
如果我在本地运行webapp,则可以正常运行。但是,当我从托管服务器上运行它时,它给了我一个错误:
System.IO.IOException:登录失败:用户名未知或密码错误。
我目前正在使用以下代码尝试尝试此操作:
byte[] fileBytes = System.IO.File.ReadAllBytes(@"server-name\folder1\folder2\file.xlsx");
return File(fileBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
如果我使用个人Windows凭据登录到托管服务器,则可以通过文件资源管理器访问此位置,因此我知道两者之间的连接很好。
我已经看到了与模拟相关的解决方案,但是据我了解,这将需要一个中央用户名/密码。我只想利用自己的Windows凭据的方法。
答案 0 :(得分:0)
托管服务器运行的帐户无权访问该文件,这就是为什么您收到错误消息的原因。
可能的解决方法是:
更改文件安全性,以允许Web服务器运行的帐户访问。
将Web服务器运行的帐户更改为有权访问文件的不同帐户
让您的代码模仿有权访问文件的用户。