J'ai besoin de combiner deux uris relatifs, par ex. ../mypath/
et myimage.png
pour créer ../mypath/myimage.png
. Ils ne sont pas des chemins d'accès aux fichiers sur le disque, donc n'est pas approprié (ce sont des chemins relatifs aux ressources pour une page Web). new Uri
lève un ArgumentOutOfRangeException
parce que l'uri de base est relatif (pas absolu).Combinaison de deux Uris relatives
Ai-je d'autres options que de rechercher une barre oblique et de combiner les chemins moi-même?
EDIT:
Voici un test qui démontre que Path.Combine ne fonctionnera pas dans le cas où la première URL ne contient pas déjà un slash:
// The first case fails with result "../testpath\resource.png"
[TestCase("../testpath", "resource.png", "../testpath/resource.png")]
[TestCase("../testpath/", "resource.png", "../testpath/resource.png")]
public void TestPathCombine(string path, string resourceName, string expectedResult) {
string result = Path.Combine(path, resourceName);
Assert.AreEqual(expectedResult, result);
}
duplication possible de [Combiner baseUri relative avec chemin relatif] (http: // stackoverflow.com/questions/4925468/combine-relative-baseuri-with-relative-path) –