Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Display images from a SQL database - the easy way

0.00/5 (No votes)
5 Jul 2008 1  
This project contains a Web Custom Control for rendering images directly from the database. Can be used with image fields, text, date, or numerical fields (it generates an image containing the text), and with URL fields (like in a regular image control).

Introduction

This is version 3.0 of the VsCustomRenderer control. You can find the previous versions here: 2.0 and 1.0.

Background

This project was inspired by an article on CodeProject written by dev2dev: Create Dynamic Images in ASP.NET. Parts of the code were taken from that project.

Using the Code

To test this control:

  • Open or create a website.
  • Add the VSCustomRendererLibrary reference to the website.
  • Add the following line in the <httpHandlers> section in the web.config:
<add verb="*" path="*.jpg" 
  type="VSCustomRendererLibrary.VsImageHandler, VSCustomRendererLibrary"/>

If you cannot find this section in your web.config file, just create it under <system.web>:

<system.web>
    ......
     <httpHandlers>
          <add verb="*" path="*.jpg" 
            type="VSCustomRendererLibrary.VsImageHandler, VSCustomRendererLibrary"/>
     </httpHandlers>
</system.web>
  • Open/create a new ASPX page.
  • Add a SqlDataSource connected to a SQL table or view (this project was tested with SQL Server 2005 EE).
  • Add a GridView and connect it to the SqlDataSource.
  • In the GridView, add the image column and transform it into a template field.
  • Select Edit Template from the GridView toolbar menu.
  • Add a VSCustomRenderer into the ItemTemplate. Bind the control to the DataSource field.

Points of Interest

This Web Control now works with AJAX. This control no longer saves images to disk in order to display them. The pictures are displayed directly from memory through an IHttpHandler. This HTTP handler does not open a new database connection, it just displays the images from memory, so there are no delays in page rendering and no extra parameters to set.

History

All the versions of this control are also posted on CodePlex.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here