file.Exist returns 在本地主机上为 true,在服务器 c# 上为 returns false
file.Exist returns true on localhost and returns false on server c#
我有一个网格,其中包含文件列表(在另一台服务器上)和每行的下载按钮。单击按钮时,应下载文件。当我在本地主机上单击它时,file.Exist returns true 并且我可以下载文件。但是,当我在服务器 (IIS) 上尝试相同的按钮时,file.Exist returns false 并且无法下载文件。 (此服务器也可以访问该文件。)我的代码片段如下;
var fileNameToShow = "8D.xls";
var fileNameAndPath = "\\10.1.101.151\Files\Live\10\8D.xls"
FileInfo file = new FileInfo(fileNameAndPath);
file.Refresh();
if (file.Exists)
{
// Send the file to the browser
Response.Clear();
Response.AddHeader("Content-Disposition",
"attachment; filename= " + fileNameToShow + "; size=" + file.Length.ToString());
Response.TransmitFile(fileNameAndPath);
Response.Flush();
Response.End();
}
else
{
throw new Exception("File does not exist!");
}
我该怎么做才能解决这个问题?
Edit: File is in 10.1.101.151. IIS is in another server. My local
is also another PC.
首先需要在服务器上设置文件夹的权限,将IIS所在的服务器添加到8D.xls所在的服务器。
其次,需要设置应用池的身份,select自定义账号,可以设置管理员。
我有一个网格,其中包含文件列表(在另一台服务器上)和每行的下载按钮。单击按钮时,应下载文件。当我在本地主机上单击它时,file.Exist returns true 并且我可以下载文件。但是,当我在服务器 (IIS) 上尝试相同的按钮时,file.Exist returns false 并且无法下载文件。 (此服务器也可以访问该文件。)我的代码片段如下;
var fileNameToShow = "8D.xls";
var fileNameAndPath = "\\10.1.101.151\Files\Live\10\8D.xls"
FileInfo file = new FileInfo(fileNameAndPath);
file.Refresh();
if (file.Exists)
{
// Send the file to the browser
Response.Clear();
Response.AddHeader("Content-Disposition",
"attachment; filename= " + fileNameToShow + "; size=" + file.Length.ToString());
Response.TransmitFile(fileNameAndPath);
Response.Flush();
Response.End();
}
else
{
throw new Exception("File does not exist!");
}
我该怎么做才能解决这个问题?
Edit: File is in 10.1.101.151. IIS is in another server. My local is also another PC.
首先需要在服务器上设置文件夹的权限,将IIS所在的服务器添加到8D.xls所在的服务器。
其次,需要设置应用池的身份,select自定义账号,可以设置管理员。