Scripting.FileSystemObject.FileExists всегда возвращает false - PullRequest
0 голосов
/ 22 ноября 2008

Я пытаюсь проверить, существует ли файл, прежде чем включать его в Server.Execute в Classic ASP. Пока FileExists () возвращает False, Server.Execute успешно выполняет файл. Оба вызова используют одинаковый путь к файлу.

Почему это происходит и как я могу обойти это?

1 Ответ

2 голосов
/ 23 ноября 2008

Я подозреваю, что вы проходите относительный путь (например, "/Subfolder/Page.asp"). Вам нужно Server.MapPath это для вызова FileExists - для которого требуется абсолютный путь (например, "C: \ inetpub \ wwwroot \ Subfolder \ Page.asp").

<%
Dim path : path = "/Admin/default.asp"
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FileExists(Server.MapPath(path)) Then
   Server.Execute(path)
Else
   Response.Write "The path " & path & " does not exist."
End If

Set fso = Nothing
%>
...