Avatar billede psteiness Nybegynder
19. juli 2004 - 01:02 Der er 10 kommentarer og
1 løsning

Konvertere et byte array til et Image objekt

Det Image jeg henter fra databasen, som et byte array, kan jeg godt vise på en HTML side eller uploade den til brugeren. Men jeg ved ikke, hvordan man konverterer et byte array til et Image objekt, som jeg kan indsætte på min .ASPX side.
Avatar billede snepnet Nybegynder
19. juli 2004 - 01:32 #1
Hvordan viser du det på en html-side ?
Avatar billede psteiness Nybegynder
19. juli 2004 - 01:38 #2
Response.Clear();
Response.ContentType = contentType;
Response.OutputStream.Write(fileData, 0, fileData.Length);
Avatar billede snepnet Nybegynder
19. juli 2004 - 02:01 #3
Jeg tror det er det eneste du kan gøre.....

Hvis det er fordi du vil have sat flere billeder ind - blandet med alle mulige andre ting - tror jeg ikke du har andre muligheder end at sætte din ImageUrl til en side der ikke gør andet end at streame billedet ud.

Du må så pr. querystring give tilstrækkelig med oplysininger til at du kan hente det rigtige.
Avatar billede psteiness Nybegynder
19. juli 2004 - 02:03 #4
Kan du give et eks.?
Avatar billede snepnet Nybegynder
19. juli 2004 - 02:11 #5
Jep - giv mig lige 5 min så skal du få det.
Avatar billede snepnet Nybegynder
19. juli 2004 - 02:26 #6
Du du dedikerer en side kun til at rendere billeder, kan du i din Page_Load nøjes med noget i stil med nedenstående :

// hent billedeId fra QueryString
Byte[] bytes = GetImageBytes(int.Parse(Request.QueryString["ImageId"]));

// lav et billede
MemoryStream ms = new MemoryStream(...); // Byte[] er parameter her.
System.Drawing.Image im = System.Drawing.Image.FromStream(ms);

// klask det ud i outputstream
im.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif/Jpeg/...);


Så kan du på alle andre sider angive ImageUrl på dine Images (og ImageButtons) til RenderImage.aspx?ImageId=<ID>;

Var det ok ?

Mvh
Avatar billede snepnet Nybegynder
19. juli 2004 - 02:27 #7
(Jeg går ud fra at du har et eller andet der kan hente dine Bytes :o)
Avatar billede psteiness Nybegynder
19. juli 2004 - 02:32 #8
ja, jeg har jo et byte array, det er det som hedder "fileData" i mit eks.

jeg prøver lige.
Avatar billede psteiness Nybegynder
19. juli 2004 - 04:29 #9
Okay, hvis det er den eneste måde, det kan gøres på.
Jeg brugte den ASPX side, jeg havde i forvejen, altså denne her:

Response.Clear();
Response.ContentType = contentType;
Response.OutputStream.Write(fileData, 0, fileData.Length);

Og så lavede jeg en testside, med en ImageButton og en TextField, hvor jeg kunne indtaste et billed-id:

ImageButton1.ImageUrl = "RenderImage.aspx?ImageId=" + id.Text;

Og det virker ;-)
Men kan det virkelig passe, at det skal være så besværlig?

HUSK Svar.
Avatar billede snepnet Nybegynder
19. juli 2004 - 09:01 #10
Ja det er lidt bikset, men der er ikke rigtig mulighed for at referere et bille i html med andet end en url :o(
Avatar billede snepnet Nybegynder
19. juli 2004 - 09:01 #11
Og et svar :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester