I have a byte array and trying to display image from that.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.W
You're probably thinking of System.Drawing.Image
; that class supports FromStream
.
This forum post shows you a few ways to load dynamic images in WebForms.
Probably the simplest way would be to create a separate aspx page which loads your image as you're doing here and use Response.BinaryWrite
to save it to the response stream, then in the page you're working on, create an Image
control which uses the new aspx page as its image URL. You can of course use query string parameters if you need to load a variety of images.
Another way to do it is to convert your byte array into a base 64 string and assign that to the ImageUrl
property of rImage
, like so:
rImage.ImageUrl = "data:image;base64," + Convert.ToBase64String(arr);
You don't need the intermediate MemoryStream
or a separate page...if the byte array is in an image format the browser supports, it will display. Good luck.
<img id="img" runat="server" alt=""/>
In code behind
string base64String = Convert.ToBase64String(arr, 0, arr.Length);
img.Src = "data:image/jpg;base64," + base64String;
You wouldn't need MemoryStream
.