Det här funkade fint:
bool doExist(string lang, int id){
return (System.IO.File.Exists("/Portals/images/promotions/" + lang + "/" + id + ".jpg") ? true : false);
}
7 svar · 790 visningar · startad av MickeA.com
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?
Det här funkade fint:
bool doExist(string lang, int id){
return (System.IO.File.Exists("/Portals/images/promotions/" + lang + "/" + id + ".jpg") ? true : false);
}
Bör väl räcka med
bool doExist(string lang, int id){
return System.IO.File.Exists("/Portals/images/promotions/" + lang + "/" + id + ".jpg");
}
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.
Det här funkar:
return System.IO.File.Exists(Server.MapPath("~/Portals/images/_promotions/" + lang + "/" + id + ".jpg"));
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 ;)