Question

Je suis en train de fichiers d'accès dans un I répertoire virtuel créé dans IIS pour la première fois, mais je suis d'obtenir des résultats étranges.

OS: Windows XP Pro

IIS: 5.1

Plate-forme de développement: Visual Studio 2008

Langue: C #

Répertoire virtuel Nom: portail

Chemin local: C: \ digital_communications_report_portal

Par défaut Site Chemin local: c: \ inetpub \ wwwroot

Je peux télécharger le fichier http: //localhost/portal/testFile.xlsx sans problème.

J'essaie l'un de ces

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

et obtenir "C: \ Documents and Settings \ jjohnson \ Mes documents \ Visual Studio 2008 \ SitesWeb \ ClientSite \ localhost \ portal \ testFile.xlsx" qui est mon chemin du projet avec le chemin virtuel giflé sur la fin et n'est pas un chemin valide. J'essaie de prendre le tilde ou localhost et je suis un « Impossible de mapper le chemin « /portal/testFile.xlsx ». » exception.

Toutes les idées ce que je fais mal?

Était-ce utile?

La solution

Si je ne me trompe pas, Server.MapPath(ResolveUrl("~/relative/path/to/file")) est pas ce que vous voulez. Il produira un /rooted/path/to/file qui, lorsqu'il est passé à Server.MapPath() ne donnera pas un emplacement valide.

Au lieu d'utiliser simplement Server.MapPath("~/relative/path/to/file");

Mise à jour

Le problème que vous rencontrez est dû au fait que vous incluez le nom du répertoire virtuel ( « portail ») dans votre URL relative. Votre URL relative n'a pas besoin de spécifier le nom de répertoire virtuel, tout le chemin vers le fichier désiré par rapport à la racine de l'application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top