Entwickler-Ecke
ASP.NET und Web - FTP-Upload-> # in Dateinamen benötigt.
Christoph1972 - Do 10.06.10 17:10
Titel: FTP-Upload-> # in Dateinamen benötigt.
Hallo Leute,
ich muss eine Datei mittels FtpWebRequest auf einen FTP-Server senden. Der Dateiname muss eine # enthalten. Nun ist es jedoch so, das die Raute und alles was danach kommt einfach im Dateinamen fehlt. Eine Fehlermeldung gibt es leider nicht.
Hat jemand eine Idee, wie ich diese # im Dateinamen übergeben kann?
Moderiert von Christian S.: Topic aus IO, XML und Registry verschoben am Mo 14.06.2010 um 21:06
Christoph1972 - Mo 14.06.10 20:23
Hm, komisch komisch….
Diese blöde Raute ist ja scheinbar nicht mal ein Sonderzeichen. Ist das etwa ein Bug? Das bereitet mir ja wirklich Kopfzerbrechen, da eine Reihe anderer Anwendungen dieses # benötigen. Auch bei Google konnte ich nichts in finden, auch nicht im englischen.
Hat wirklich niemand einen Tipp für mich?
Christian S. - Mo 14.06.10 20:40
Hallo!
Das Problem ist, dass beim FtpWebRequest mit einer Uri gearbeitet wird. Dabei wird alles nach dem "#" als nicht mehr zugehörig:
Doku: |
Some URIs include a fragment identifier or a query or both. A fragment identifier is any text that follows a number sign (#), not including the number sign; the fragment text is stored in the Fragment property. |
Du musst die Uri daher mittels des UriBuilder zusammensetzen, damit das Fragment nicht automatisch abgeschnitten wird.
Delphi-Prism-Quelltext
1: 2: 3: 4: 5: 6:
| var ftpfullpath := new UriBuilder(); ftpfullpath.Scheme := 'ftp'; ftpfullpath.Host := ftphost; ftpfullpath.Path := ftpfilepath; var ftp := FtpWebRequest.Create(ftpfullpath.Uri) as FtpWebRequest; |
Grüße
Christian
Christoph1972 - Mo 14.06.10 21:24
Einfach nur SUPER !
Sag mal wo hast du das denn her??? Ich habe mir wirklich einen Wolf gesucht, man man man.....
Das hat mir wirklich sehr geholfen!!!
Vielen Dank!
Christian S. - Mo 14.06.10 21:47
Mich hat das Problem interessiert, also habe ich's erst einmal selber probiert und die Dateinamen wurden auch bei mir abgeschnitten. Irgendwann fiel mir halt auf, dass das 'ne Uri ist und "#" in einer Uri / Url halt eine besondere Bedeutung hat. Nachdem ich obigen Doku-Ausschnitt gelesen hatte, habe ich dann geguckt, wie man denn die einzelnen Teile von so 'ner Uri selber setzen kann. :-)
Christoph1972 - Mo 14.06.10 22:32
Na ja, ich bin genau so vorgegangen, leider nicht so erfolgreich. Vielen Dank noch mal!!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!