gpt4 book ai didi

c# - MVC : File. 存在返回 false

转载 作者:太空宇宙 更新时间:2023-11-03 21:02:34 25 4
gpt4 key购买 nike

我有一个像这样的 MVC 方法:

public ActionResult DownloadDocument(string filePath){
//Other stuff
if (!System.IO.File.Exists(filePath))
{
FileLogger.Debug($"DownloadDocument : {filePath} NotFound");
}
//Other stuff
}

文件路径看起来像 => \\ServerB\Documents\General\Administration\Doc1.pdf

在本地,我有一个 IISExpress(我知道这不是很好但别无选择...)和一个数据服务器(服务器 B)。文件在服务器 B 上。效果非常好,我可以检索我的文件。

发布时,我在服务器 A 和一个相同的数据服务器(服务器 B)上有一个 IIS。 FilePath 仍在服务器 B 上。在这种情况下,我无法检索我的文件,因为此行返回 False :

System.IO.File.Exists(filePath)

在搜索解决方案时,我看到了 ServerMapPath,但它没有帮助,因为 filePath 在服务器 B 上,而不是在服务器 A 上。

当我将自己连接到服务器 A 时,如果我在文件资源管理器中放置链接 \\ServerB\Documents\General\Administration\Doc1.pdf,文件将被正确检索。

可能是安全问题,但不知道去哪里搜索...

谢谢你的帮助

最佳答案

这很可能是访问权限问题。该文件夹确实存在,但 .NET 无法确定,因为 IIS 用户无权访问网络共享。

您可以通过以网络用户(例如您自己的帐户)身份运行 IIS 应用程序池来检查这一点。 不要在生产场景中这样做!为 IIS 用户创建一个单独的域帐户。

关于c# - MVC : File. 存在返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43933634/

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