我正在尝试检查服务器上是否存在包含ASP.NET网页后面的C#代码的文件。我知道这个文件确实存在,因为我事先把它放在服务器上的一段代码中。有没有人知道为什么它找不到文件。代码如下:
wordDocName = "~/specifications/" + Convert.ToInt32(ViewState["projectSelected"]) + ".doc";
ViewState["wordDocName"] = wordDocName;
if (File.Exists(wordDocName))
{
btnDownloadWordDoc.Visible = true;
}
else
{
btnDownloadWordDoc.Visible = false;
}发布于 2011-06-02 00:58:09
文件路径应该是物理路径,而不是虚拟路径。使用
if (File.Exists(Server.MapPath(wordDocName)))发布于 2011-06-02 00:59:29
File.Exists()以及您想要对该文件执行的所有其他操作都需要一个真实的路径。
您的wordDocName是相对URL。
只需使用
string fileName = Server.MapPath(wordDocName);发布于 2011-06-02 00:58:35
使用
Server.MapPath("~/specifications/" + Convert.ToInt32(ViewState["projectSelected"]) + ".doc")以获取完全限定的路径。这对你来说应该很有用。
https://stackoverflow.com/questions/6204878
复制相似问题