Scripting.FileSystemObject.FileExists всегда возвращает false

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

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


person David Brown    schedule 22.11.2008    source источник


Ответы (1)


Я подозреваю, что вы передаете относительный путь (например, "/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
%>
person Mark Brackett    schedule 22.11.2008