HttpServerUtility.MapPath(String) Método

Definición

Devuelve la ruta de acceso del archivo físico que corresponde a la ruta de acceso virtual especificada.

public:
 System::String ^ MapPath(System::String ^ path);
public string MapPath(string path);
member this.MapPath : string -> string
Public Function MapPath (path As String) As String

Parámetros

path
String

Ruta de acceso virtual en la aplicación web.

Devoluciones

Ruta de acceso del archivo físico en el servidor web que corresponde a path.

Excepciones

El objeto actual HttpContext es null.

O bien

path es una ruta de acceso física, pero se esperaba una ruta de acceso virtual.

Ejemplos

En el ejemplo siguiente se muestra cómo recuperar el archivo físico de una ruta de acceso virtual relativa. El código reside en el archivo de código subyacente de una página web y utiliza el objeto predeterminado Server .

public partial class _Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string pathToFiles = Server.MapPath("/UploadedFiles");
    }
}
Public Class _Default
    Inherits Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        Dim pathToFiles = Server.MapPath("/UploadedFiles")
    End Sub
End Class

El ejemplo siguiente es similar al ejemplo anterior, salvo que muestra cómo recuperar una ruta de acceso física desde dentro de una clase que no está en el archivo de código subyacente.

public class SampleClass
{
    public string GetFilePath()
    {
        return HttpContext.Current.Server.MapPath("/UploadedFiles");
    }
}
Public Class SampleClass
    Public Function GetFilePath() As String
        Return HttpContext.Current.Server.MapPath("/UploadedFiles")
    End Function
End Class

Comentarios

Si path es null, el MapPath método devuelve la ruta de acceso física completa del directorio que contiene la solicitud actual de la ruta de acceso. La ruta de acceso relativa no necesita especificar un archivo o carpeta existente para que este método devuelva un valor. Sin embargo, no puede especificar una ruta de acceso fuera de la aplicación web.

Importante

El MapPath método puede contener información confidencial sobre el entorno de hospedaje. El valor devuelto no se debe mostrar a los usuarios.

Una aplicación web que reside en C:\ExampleSites\TestMapPath devolvería los siguientes resultados:

Solicitud desde path Valor devuelto
RootLevelPage.aspx null C:\ExampleSites\TestMapPath
RootLevelPage.aspx "/DownOneLevel/DownLevelPage.aspx" C:\ExampleSites\TestMapPath\DownOneLevel\DownLevelPage.aspx
RootLevelPage.aspx "/NotRealFolder" C:\ExampleSites\TestMapPath\NotRealFolder
RootLevelPage.aspx ".. /OutsideApplication" HttpException
/DownOneLevel/DownLevelPage.aspx null C:\ExampleSites\TestMapPath\DownOneLevel
/DownOneLevel/DownLevelPage.aspx ".. /RootLevelPage.aspx" C:\ExampleSites\TestMapPath\RootLevelPage.aspx

Se aplica a