Za boha nemuzu nikde najit, jak elegantne prelozit znamou fyzickou adresu souboru napr:
do teto formy:Kód:C:\Inetpub\wwwroot\mujweb\images\image.jpg
Mate nejake doporuceni jak postupovat?Kód:http://localhost/mujweb/images/image.jpg
Diky moc
Printable View
Za boha nemuzu nikde najit, jak elegantne prelozit znamou fyzickou adresu souboru napr:
do teto formy:Kód:C:\Inetpub\wwwroot\mujweb\images\image.jpg
Mate nejake doporuceni jak postupovat?Kód:http://localhost/mujweb/images/image.jpg
Diky moc
Neporadim ti konkretne, ale kazdopadne tohle zavisi na nastaveni web serveru, zalezi na tom, kam ma nastaven root a i na dalsich vecech. V zakladu bys minimalne musel znat kam je nastavenej ten root, tu cast z toho oriznes a nahradis ji tim http://...
No skoda, skladanim a menenim znaku ve stringu me to taky napadlo. Doufal jsem ze existuje nejaka elegantnejsi konstrukce :(
nevim, jestli by to pomohlo, ale na prevod relativni na absolutni se da pouzit:
FileStream s = new FileStream(Server.MapPath("/neco.dat)FileMode.OpenOrCreate);
Jo o tomhle vim, to je jednoduchy prevod na fyzickou adresu. Na druhou stranu je to ovsem docela problem jak tak asi koukam.
Pr. Chci nahrat na server obrazek. Nahraju ho jednoduse pomoci FileUpload controlu, ktery pracuje s fyzickymi adresami. Potom chci vratit uzivateli vysledek jako relativni (virtualni) adresu, kde se obrazek nachazi. A to je problem :)
tak presne tohle jsem resil tenhle tyden na jedny semestralce... :D
1) jestli uploadujes, vis kam to uploadujes.
2) znas svou URL adresu pro pristup k tvym strankam
cili...pouzij relativni cestu
- nevyhoda: zmena adresare skriptu znamena zmenu pozice relativni cesty vuci adresari images a to by mohl byt problem...
//definice globalnich/lokalnich promennych
$abs_cesta='http://localhost/mujweb/';
prikaz($temp_soubor,$img_cesta='images/$jmeno_souboru');
vypis_uzivateli ($abs_cesta$img_cesta");
Nakonec jsem to udelal timhle zpusobem (protoze je to v repeateru, tak je to reseno inline kodem):
Ten ApplicationPath se postara o pripadne vlozeni nazvu aplikace, pokud neni umistena primo ve wwwroot, pokud je v rootu, tak se nevklada nic (resp. tohle ""). Vystupem je tedy:Kód:<a href="<%# Request.ApplicationPath %>/images/
<%# ((System.IO.FileInfo)Container.DataItem).Name %>">
Coz uz se v pohode zobrazuje u klienta jako cela virtualni adresa :)Kód:<a href="aplikace/images/obrazek.jpg">obrazek</a>
(nebo)
<a href="images/obrazek.jpg">obrazek</a>
Presto kdyz potrebuju text a ne odkaz, tak mi to nic neprelozi. V tomto pripade jsem to teda napsal takhle:
Kód:string url = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery,
Request.ApplicationPath + "/Default.aspx")