Jag har en katalog innehållande bilder. Hur ska jag smartast loopa igenom dessa, så att jag jag kan få dessa bilder som enskilda objekt som jag kör genom funktionen MakeImage (se bifogad fil), och sedan visa dessa i en repeater?
Känns som att jag har förklarat otroligt luddigt. Fråga om ni inte förstår... :l
Du missa att bifoga, ett vanligt förekommande för oss alla :)
Antingen sparar du bilderna på disk eller i minnet efter du kört funktionen MakeImage. Därefter beroende på hur du sparade bilderna får du göra en sida eller httphandler som anges som ImageUrl för bilderna i repeatern.
foreach(string filepath in Directory.GetFiles("path till din mapp med bilder"))
{
using(FileStream stream = new FileStream("sökväg till mapp att spara bilderna i\\" + Path.GetFileName(filepath), FileMode.Create))
{
byte[] bytes = MakeImage(filepath);
stream.Write(bytes, 0, bytes.Length);
}
}
Nu har du genererat thumbnails, detta bör inte göras varje gång någon går in på sidan som sedan ska visa bilderna. På den sidan har du då en repeater som du populerar med hjälp av Directory.GetFiles().
Detta är i grova drag hur man kan göra. Själv har jag löst det lite mer komplicerat då jag vid första besöket läser in och cachar thumbnails. På så sätt slipper man hålla reda på alla thumbnails eftersom de endast existerar i minnet på servern. Är ännu inte helt klar med den applikationen, men när den är kommer den finnas tillgänglig på min hemsida.