Pregunta

Estoy intentando acceder a archivos en un directorio virtual creado I en IIS por primera vez, pero estoy consiguiendo resultados extraños.

SO: Windows XP Pro

IIS: 5,1

Plataforma de desarrollo: Visual Studio 2008

Idioma: C #

Virtual Directory Nombre: portal

Ruta de acceso local: C: \ digital_communications_report_portal

Por defecto Ruta Local Website: c: \ inetpub \ wwwroot

Me puede descargar el archivo en http: //localhost/portal/testFile.xlsx sin ningún problema.

Trato de cualquiera de éstos

string realFilename = Server.MapPath(ResolveUrl("~/portal/testFile.xlsx"));
string realFilename = Server.MapPath(ResolveUrl("localhost/portal/testFile.xlsx"));

y conseguir "C: \ Documents and Settings \ jjohnson \ Mis documentos \ Visual Studio 2008 \ sitios de Internet \ ClientSite \ localhost \ portal \ testFile.xlsx", que es mi ruta del proyecto con la ruta virtual dio una palmada en el final y no es una ruta válida. Trato de tomar la tilde o localhost y me sale un "Error al asignar la ruta '/portal/testFile.xlsx'." excepción.

¿Alguna idea de lo que estoy haciendo mal?

¿Fue útil?

Solución

Si no me equivoco, Server.MapPath(ResolveUrl("~/relative/path/to/file")) no es lo que quiere. Se producirá un /rooted/path/to/file que cuando se pasa a Server.MapPath() no dará lugar a una ubicación válida.

En lugar de ello basta con utilizar Server.MapPath("~/relative/path/to/file");

Actualizar

El problema que está experimentando se debe al hecho de que va a incluir el nombre del directorio virtual ( "portal") en su dirección URL relativa. Su dirección URL relativa no tiene que especificar el nombre del directorio virtual, sólo la ruta de acceso al archivo deseado con relación a la raíz de la aplicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top