Comparteix a través de


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 de la aplicación web.

Devoluciones

String

Ruta de acceso física del archivo en el servidor web correspondiente a path.

Excepciones

El HttpContext actual 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 para 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 se 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 debe mostrarse a los usuarios.

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

Solicitud de 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