118 votes

Chemin relatif vers chemin absolu en C#?

J'ai des fichiers XML qui contiennent des chemins de fichiers href vers des images (par exemple, "....\images\image.jpg"). Les href contiennent des chemins relatifs. Maintenant, je dois extraire les href vers les images et les transformer en chemins absolus dans le système de fichiers.

Je connais la méthode GetFullPath, mais je l'ai essayée et elle semble fonctionner uniquement à partir du CurrentDirectory défini, qui semble être C:, donc je ne vois pas comment je pourrais l'utiliser. De plus, j'ai le chemin absolu du fichier contenant les href, et les chemins relatifs des href, donc comme il est facile pour moi de compter en arrière le nombre de parties "....\" en fonction du chemin absolu du fichier contenant, il semble qu'il doit y avoir un moyen de le faire de manière programmable également.

J'espère qu'il y a une méthode simple que je ne connais tout simplement pas! Des idées?

6voto

Tianzhen Lin Points 1436

Avez-vous essayé la méthode Server.MapPath ? Voici un exemple

string relative_path = "/Content/img/Upload/Reports/59/44A0446_59-1.jpg";
string absolute_path = Server.MapPath(relative_path);
//sera c:\users\.....\Content\img\Upload\Reports\59\44A0446_59-1.jpg

1voto

Jonny Boy Points 56

Cela a fonctionné pour moi.

//utilisé dans une application ASP.NET MVC
private const string BatchFilePath = "/MyBatchFileDirectory/Mybatchfiles.bat"; 
var batchFile = HttpContext.Current.Server.MapPath(BatchFilePath);

0voto

JeremyWeir Points 9424

Jetez un coup d'œil à Path.Combine http://msdn.microsoft.com/en-us/library/fyy7a5kt.aspx

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X