webForumDet fria alternativet

C# - FileExists

7 svar · 790 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 441 inlägg
#1

Hej,

Jag försöker ta reda på hurvida en fil finns eller ej.
Har Googlat lite på det och hittat bl.a.:

FileInfo fi = new FileInfo(@"\\server\share\file.txt");
bool exists = fi.Exists;

...men även:

* 
* Required references 
*/       
  using System.IO; 
/* 
* Usage 
*/ 
  if (File.Exists(somepath))
  { 
    // Do something
  }

Såhär har jag gjort:

FileInfo fi = new FileInfo("/Portals/images/promotions/" + id + ".jpg");
bool exists = fi.Exists;

if(exists){
	sb.Append("<li>Bild finns (" + id + ")</li>");						
}else{
	sb.Append("<li style=\"color: #ff0000;\"><em>Bild finns inte (" + id + ")</em></li>");
}

Men jag får The server block is not well formed.

Vad gör jag för fel?

MickeA.comMedlem sedan feb. 20034 441 inlägg
#2

Det här funkade fint:

bool doExist(string lang, int id){
   return (System.IO.File.Exists("/Portals/images/promotions/" + lang + "/" + id + ".jpg") ? true : false);
}
The_HulkMedlem sedan juni 20031 837 inlägg
#3

Bör väl räcka med

bool doExist(string lang, int id){
   return System.IO.File.Exists("/Portals/images/promotions/" + lang + "/" + id + ".jpg");
}
MickeA.comMedlem sedan feb. 20034 441 inlägg
#4

Ja just det, såklart det räcker.

Tack!

freguzMedlem sedan feb. 2005280 inlägg
#5

jaha kan man köra med relativa sökväger i File.IO det visste jag inte. Det var ju positivt!

MickeA.comMedlem sedan feb. 20034 441 inlägg
#6

Hmm, det kanske inte går...
Kör jag med sökvägen ovan retureras }else{ hela tiden.

Jag är säker på att filen finns och ligger i den mappen.

MickeA.comMedlem sedan feb. 20034 441 inlägg
#7

Det här funkar:

return System.IO.File.Exists(Server.MapPath("~/Portals/images/_promotions/" + lang + "/" + id + ".jpg"));
spangoMedlem sedan juni 20008 205 inlägg
#8

Relativa sökvägar utgår ifrån den processens arbetskatalog (Directory.GetCurrentDirectory()), man kan inte (vilket jag antar är fallet här) använda virtuella sökvägar i ASP.Net-sidor med det. Server.MapPath är din kompis.

red. Jaha, så löser han det själv. Tacksamt ;)

124 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)