tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
380
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    dila71 dila71 ist offline Mitglied Silber
    Registriert seit
    Jul 2005
    Beiträge
    76
    Hallo,

    kurze Frage.
    ich habe in einer C# Methode dieURI, wo ich gerade befinde (Bsp. "http://server/projekt/verzeichnis/unterverzeichnis/irgendeineSeite.html").
    Ich bekomme einen relativen Link (Bsp. "/index.html").

    Nun die Frage: wie mache ich aus diesen beiden Infos möglichst mit .NET internen Mitteln daraus die absolute URL "http://server/projekt/verzeichnis/unterverzeichnis/index.html".

    Ich habe es bisher versucht mit:
    Uri v_baseUri = new Uri( "http://server/projekt/verzeichnis/unterverzeichnis/irgendeineSeite.html" );
    Uri v_myUri = new Uri( v_baseUri, "../../index.html");

    dabei kommt aber leider als Uri.ToString();
    "http://server/index.html" heraus.

    Was rauskommt wenn der relative Link "../../../index.html" ist, habe ich dabei noch nicht mal probiert.

    Im voraus Danke für Eure Hilfe
    Dirk
     

  2. #2
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Hallo dila71!

    Willkommen im Forum!

    Die String-Klasse bietet Dir alle Werkzeuge um Strings zu bearbeiten.
    Du möchtest also den Pfad des Verzeichnisses? Was hälst Du davon alles dahinter einfach abzuschneiden?
    Code :
    1
    2
    
    string sTargetURL = "http://server/projekt/verzeichnis/unterverzeichnis/index.html"
    string sURLFolder = sTargetURL.Substring( 0, sTargetURL.LastIndexOf( '/' ) );
    Jetzt kannst Du ganz einfach die Seite anfügen die Du aufrufen willst.
    Code :
    1
    
    System.Diagnostics.Process.Start( sURLFolder + "index.html" );
    MfG, cosmo
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  3. #3
    dila71 dila71 ist offline Mitglied Silber
    Registriert seit
    Jul 2005
    Beiträge
    76
    Danke für die nette Begrüßung.

    Hat mir sehr geholfen, zu erfahren, dass ich das über Stringmethoden abfackeln muss, ab hier komm ich weiter.

    Tschau
    Dirk
     

  4. #4
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Hi.

    Warum die String-Funktionen benutzen? Du hast doch eigentlich schon eine gute Lösung, nur wohl einen kleinen Denkfehler drinnen.

    Uri v_myUri = new Uri( v_baseUri, "../../index.html");

    Schau dir mal das hervorgehobene an. Wozu hast du das da drinnen?
    Was geschieht denn wenn du in der Eingabeaufforderund cd .. machst? Du gehst eine Ebene zurück. Willst du das hier? So wie ich es herausgelesen habe nicht.

    Schonmal cd . gemacht? Was passiert? Du bleibst im selben Verzeichnis.

    Code :
    1
    2
    
    Uri v_baseUri = new Uri( "http://server/projekt/verzeichnis/unterverzeichnis/irgendeineSeite.html" );
    Uri v_myUri = new Uri( v_baseUri, "./index.html");

    Alternativ kannst du bei der neuen Uri auch nur index.html benutzen, also einfach den Schrägstrich entfernen.

    MfG,
    Alex
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  5. #5
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Ohh, mann. Was hat mich denn da geritten.
    Sorry für die Irreführung.
    Das war jetzt schon echt ne weile her mit den URIs.

    Dank Dir Alex, das mit den Ordnerebenen hatte ich total vergessen.
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  6. #6
    dila71 dila71 ist offline Mitglied Silber
    Registriert seit
    Jul 2005
    Beiträge
    76
    Zitat Zitat von dila71
    Ich habe es bisher versucht mit:
    Uri v_baseUri = new Uri( "http://server/projekt/verzeichnis/unterverzeichnis/irgendeineSeite.html" );
    Uri v_myUri = new Uri( v_baseUri, "../../index.html");

    dabei kommt aber leider als Uri.ToString();
    "http://server/index.html" heraus.
    Wie ich schon geschrieben habe hatte ich das ja probiert.
    Das problem ist, dass bei obigen Code nicht "http://server/index.html" sondern "http://server/projekt/index.html" rauskommen sollte.

    Trotzdem Danke
    Dirk
     

  7. #7
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Ähm geht doch.
    Hier hast nen Tool zum Testen und ein paar Beispielausgaben.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    using System;
     
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            Console.Write("URI: ");
            string uri = Console.ReadLine();
     
            Console.Write("relativer Pfad: ");
            string file = Console.ReadLine();
     
            Uri orig_uri = new Uri(uri);
            Uri new_uri = new Uri(orig_uri, file);
     
            Console.WriteLine("Neue URI mit neuem relativen Pfad: {0}", new_uri);
     
            Console.Write("[enter] drücken zum Beenden");
            Console.ReadLine();
        }
    }

    Ausgaben:
    URI: http://furred.net/sub1/sub2/sub3/gaga.html
    relativer Pfad: index.html
    Neue URI mit neuem relativen Pfad: http://furred.net/sub1/sub2/sub3/index.html
    [enter] drücken zum Beenden

    URI: http://furred.net/sub1/sub2/gaga.html
    relativer Pfad: sub3/test.html
    Neue URI mit neuem relativen Pfad: http://furred.net/sub1/sub2/sub3/test.html
    [enter] drücken zum Beenden

    URI: http://furred.net/sub1/sub2/test.html
    relativer Pfad: ../sub1_index.html
    Neue URI mit neuem relativen Pfad: http://furred.net/sub1/sub1_index.html
    [enter] drücken zum Beenden
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

Ähnliche Themen

  1. relativen in absoluten Pfad umwandeln
    Von Jango Qel Droma im Forum Java
    Antworten: 4
    Letzter Beitrag: 19.02.09, 12:04
  2. hilfe bei relativen pfaden
    Von hups1803 im Forum Flash Plattform
    Antworten: 16
    Letzter Beitrag: 23.02.08, 13:08
  3. Antworten: 1
    Letzter Beitrag: 14.09.07, 18:18
  4. html Link in JSP Verarbeiten
    Von dadom110 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 3
    Letzter Beitrag: 14.05.07, 12:12
  5. Relativen Pfad ermitteln
    Von Razorhawk im Forum PHP
    Antworten: 5
    Letzter Beitrag: 16.11.03, 14:22