首页 > 解决方案 > 无法确定文件是否在 Web 服务器上,因为确定目录的各种方法都不起作用

问题描述

我正在使用 c# 在 asp.net、vs2015 中开发应用程序,开发环境是 Win10Pro 机器。我可以使用各种方法中的任何一种来获取工作目录并查看特定文件是否存在于 dev pc 上,但不存在于 Web 服务器上。我已经尝试过以下方法: 在 Application_Start 中获取当前应用程序物理路径

都可以在 Dev PC 上运行,但在 Web 服务器上使用时,它不会返回工作目录。服务器是使用 IIS10 的 2016 数据服务器。问题是我整理的网站工作正常,除了显示 GrapeCity ActiveReports 报告 AR15。包含他们的 Web 查看器的网页可以正常打开并正在寻找报告文件 (MyReport.rdlx)。global.aspx 文件指向根目录,但是当 Web 查看器打开时,它显示 File Not Found。我完全不知道,技术支持也不确定。这是阻止代码定位和验证文件是否存在的 IIS 问题?任何方向将不胜感激。这非常令人沮丧和耗时。 AppDomain.CurrentDomain.BaseDirectory不工作,HttpRuntime.AppDomainAppPath不和所有其他人一样好。请求返回空白。

string filename = AppDomain.CurrentDomain.BaseDirectory.ToString() +"SPU01_Dates.rdlx";
if (File.Exists(filename))
{
    Response.Write("YES");
}
else
{

    Response.Write("NO");
    Response.Write("</br");
    Response.Write(filename);
}

所有这一切都没有回报。

谢谢。

标签: c#asp.netiis-10

解决方案


试试这个代码

if (File.Exists(Server.MapPath(filename)))

检查服务器上是否存在文件


推荐阅读