Hej Det finns två varianter. Båda handlar om att skapa en imagurl dynamiskt. Åhh det låter bra, men jag har ingen aning om hur. Detta är inget jag känner till. Innebär Du skulle kunna läsa upp din bild via en aspx sida som sätter en passande Response.ContentType (typ "image/jpeg" eller vilken MIME typ som passar just dig) därefter är det bara att skriva den binära strömmen till Response.OuputStream. Då kan du streama en bild via typ <img src="/someFolder/image.aspx?PictureID=12"> På http://msdn.microsoft.com/msdnmag/issues/04/04/CuttingEdge/ så finns det en mycket bra artikel om hur du gör detta. Tack Marcus! *S* Tack alla. Nu är det löst. System.Web.UI.WebControls.Image kontrollen
Har ett litet problem. Har just kommit på och lyckats skriva och hämta bilder
från mySQL databas på ett relativt enkelt sätt :)
Tyvärr så verkar det som om den inbyggda image kontrollen kräver en imageurl
och ingen möjlighet att skicka in ett stram objekt(?). Jag vill ju förstås efter att
jag hämtat den binära datat och lagt det i en stream bara skicka det vidare
till en bildkontroll.
Några ideér?
Tack
Ps.. är någon intresserad kan jag tala om hur jag sparar/hämtar en bild/er till/från databasen DS...
MarcusSv: System.Web.UI.WebControls.Image kontrollen
Den ena är att använda sig av en .aspx sida som url och på det viset skickar tillbaka strömmen.
Det andra är att skapa en HttpHandler som du istället kan använda dig av ... Sv: System.Web.UI.WebControls.Image kontrollen
detta att det blir en fejkad url eller spars faktiskt någonting på servern (alltså filen i detta
fall)? Vad händer då använder lämnar siten oförväntat, blir en massa skräpfiler lämnade
kvar? Om fil faktiskt skapas, är inte detta lite slöseri med resurser, tidskrävande?
Känner du/någon till om det finns något mer kontret exempel?
(Patrik: Har haft dig som instruktör på Cornerstone, får grattulera till MVP titeln)
Hälsningar
MarcusSv: System.Web.UI.WebControls.Image kontrollen
Alltså förenklat ngt i stil med:
<code>
private void Page_Load(object sender, System.EventArgs e)
{
Bitmap bitmap = getMyBitmapInANiftyWay(Request.Querystring["PictureID"]);
Response.ContentType = "image/Jpeg";
bitmap.Save(Response.OutputStream, ImageFormat.Jpeg);
}
</code>Sv: System.Web.UI.WebControls.Image kontrollen
I artikeln så genererar han bilden med GDI+, men om du istället laddar det från SQL Servern spelar ju ingen roll.
Han berättar dessutom varför man inte skall använda en aspx-sida uttan göra en HttpHandler som hanterar detta (pga effektivitetsskäl).
/AndreasSv: System.Web.UI.WebControls.Image kontrollen
Som exemplena ovan visar så blir URL helt dynamisk. Du blir själv ansvarig för att skicka bild datan till klienten.Sv: System.Web.UI.WebControls.Image kontrollen
För de som undrar löste jag det så här:
Form1.asxp
<code>
myImage.ImageUrl = "http://mindomain.se/PicForm.aspx?PicID=1
</code>
PicForm.aspx
<code>
Dim bytesGIF(Length) As Byte
'Hämta bild enligt PicID
Response.ContentType = "image/bmp"
Response.BinaryWrite(bytesGIF)
</code>
Sedan laddas bilden till myImage kontroll..
Tack för hjälpen
Marcus