webForumDet fria alternativet

Loopa ut genererade bilder

.NET

5 svar · 258 visningar · startad av Josef

Medlem sedan mars 20023 561 inlägg
Frågan#1

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

Medlem sedan apr. 20012 266 inlägg
#2

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.

Medlem sedan mars 20023 561 inlägg
#3

Kom att tänka på det ja... ;)

Medlem sedan mars 20023 561 inlägg
#4

Det jag inte kan klura ut är hur jag ska loopa igenom alla bilder i en katalog, generara thumbnails av dem och sedan visa dessa i en repeater.

Någon som har en liten hint?

Medlem sedan apr. 20012 266 inlägg
#5
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.

Medlem sedan mars 20023 561 inlägg
#6

Tackar för detta.

*återgår till ritbordet (vs.net)*

273 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
137 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
136 ms — ändringar (db)