Hi Walter,
Thank you very much for your reply. I have decided to use a mix of the two
examples, which you can see below. Is this a good approach?
Thanks
Henrik.
On my page I have created a TemplateField:
<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="Image1" Width="75" Height="100"
ImageUrl='<%# GetURL(DataBinder.Eval(Container.DataItem,
"Picture") as System.Byte[]) %>' Runat=server />
</ItemTemplate>
</asp:TemplateField>
Then I have created a GetURL method on my page:
protected string GetURL(System.Byte[] image)
{
if (image != null && image.Length > 0)
{
string guidString = Guid.NewGuid().ToString();
Session[guidString] = image;
return "GetImage.aspx?ImageId=" + guidString;
}
return String.Empty;
}
and then finally a new page called GetImage.aspx:
protected void Page_Load(object sender, EventArgs e)
{
string imageId = Request.QueryString.Get("ImageId");
System.Byte[] imageBytes = (System.Byte[])Session[imageId];
Session[imageId] = null;
using (MemoryStream ms = new MemoryStream(imageBytes))
{
using (Bitmap image = (Bitmap)System.Drawing.Bitmap.FromStream(ms))
{
image.Save(Response.OutputStream,
System.Drawing.Imaging.ImageFormat.Jpeg);
imageBytes = null;
}
}
}
[quoted text, click to view] "Walter Wang [MSFT]" <wawang@online.microsoft.com> wrote in message
news:n%23UHhIiKHHA.2080@TK2MSFTNGHUB02.phx.gbl...
> Hi Henrik,
>
> To display a image in ASP.NET server control DataGrid, you need to set a
> column to use template and use an image control inside it, then in
> ItemDataBound event, retrieve the image's binary data and output it. Since
> normally an image control's ImageUrl refers to a URL of a static image
> file, it can also refer to a webform that outputs dynamic image binary
> data:
>
> #Retrieving Images from SqlServer and displaying in a DataGrid - ASP .NET:
> ASP Alliance
>
http://aspalliance.com/articleViewer.aspx?aId=141&pId= >
>
> Another approach without creating a webform to read the image data is to
> create a custom image control and output the image data directly in its
> code:
>
> #Display Images in a DataGrid Directly from Memory
>
http://www.eggheadcafe.com/articles/20050911.asp >
>
> Hope this helps.
>
> Sincerely,
> Walter Wang (wawang@online.microsoft.com, remove 'online.')
> Microsoft Online Community Support
>
> ==================================================
> Get notification to my posts through email? Please refer to
>
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif > ications. If you are using Outlook Express, please make sure you clear the
> check box "Tools/Options/Read: Get 300 headers at a time" to see your
> reply
> promptly.
>
> Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
> where an initial response from the community or a Microsoft Support
> Engineer within 1 business day is acceptable. Please note that each follow
> up response may take approximately 2 business days as the support
> professional working with you may need further investigation to reach the
> most efficient resolution. The offering is not appropriate for situations
> that require urgent, real-time or phone-based interactions or complex
> project analysis and dump analysis issues. Issues of this nature are best
> handled working with a dedicated Microsoft Support Engineer by contacting
> Microsoft Customer Support Services (CSS) at
>
http://msdn.microsoft.com/subscriptions/support/default.aspx. > ==================================================
>
> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>