1. ホーム
  2. c#

[解決済み] C#で相対パスから絶対パスへ?

2023-03-03 07:25:18

質問

画像(例:"... \images.jpg" )への href ファイルパスを含む xml ファイルがあります。このhrefには相対パスが含まれています。さて、画像のhrefsを抽出して、ファイルシステム内の絶対パスにする必要があります。

GetFullPath メソッドについて知っていますが、それを試してみたところ、それは CurrentDirectory セットからしか動作しないようで、それは C: のようなので、それをどのように使用できるかはわかりません。また、href を含むファイルの絶対パスと href の相対パスがあるので、含むファイルの絶対パスに基づいて "...\" の部分の数をカウントバックするのは簡単な作業なので、これをプログラム的に行う方法もあるはずです。

私が知らないだけで、何か簡単な方法があるといいのですが! 何かアイデアはありますか?

どのように解決するのですか?

XML ファイルが実際に存在するディレクトリがわかっているとして、Path.Combine を使用します(例.

var absolute_path = Path.Combine(directoryXmlLivesIn, "..\images\image.jpg");

もし、...を崩したフルパスを取得したいのであれば

Path.GetFullPath((new Uri(absolute_path)).LocalPath);