I am showing this functionality by creating an ASP.Net MVC 4 application (R- An Image Gallery Application In MVC 4).
The following is my SQL Server Data Table structure: (Album_Details).
![design view]()
                                       Image 1.
Now open Visual Studio and select "File" -> "New" -> "Project...":
![New Project]()
                                                                        Image 2.
![internet application]()
                                                                        Image 3.
Now right-click on the Model Folder Add New Item -> Add New Class (ImageInfo):
- using System;  
 - using System.Collections.Generic;  
 - using System.Linq;  
 - using System.Web;  
 -   
 - namespace AnImageGalleryApplicationInMVC4.Models  
 - {  
 -     public class ImageInfo  
 -     {  
 -         public int Image_Id { get; set; }  
 -         public string Image_Name { get; set; }  
 -         public byte[] Image { get; set; }  
 -         public string Image_UploadedDate { get; set; }  
 -     }  
 - }  
 
 Now again right-click on the Model Folder-> Add New Item -> Add New Class (RAlbumService):
- using System;  
 - using System.Collections.Generic;  
 - using System.Linq;  
 - using System.Web;  
 - using System.Data;  
 - using System.Data.SqlClient;  
 - using System.Configuration;  
 - using System.IO;  
 -   
 - namespace AnImageGalleryApplicationInMVC4.Models  
 - {  
 -     public class RAlbumService  
 -     {  
 -         public IList<ImageInfo> GetAllImages()  
 -         {  
 -             List<ImageInfo> objImgInfo = new List<ImageInfo>();  
 -             SqlDataAdapter da;  
 -             DataSet ds = new DataSet();  
 -             SqlConnection con = new SqlConnection();  
 -             con.ConnectionString = @"Data Source=MYPC\SqlServer2k8;Integrated Security=true;Initial Catalog=R-ImageGallery";  
 -             SqlCommand cmd = new SqlCommand("SELECT * FROM Album_Details", con);  
 -             da = new SqlDataAdapter(cmd);  
 -             da.Fill(ds);  
 -             con.Open();  
 -             cmd.ExecuteNonQuery();  
 -             con.Close();  
 -             if (!object.Equals(ds.Tables[0], null))  
 -             {  
 -                 if (ds.Tables[0].Rows.Count > 0)  
 -                 {  
 -   
 -                     for (int i = 0; i < ds.Tables[0].Rows.Count; i++)  
 -                     {  
 -                         ImageInfo objThisIMGInfo = new ImageInfo();  
 -                         objThisIMGInfo.Image_Id = Convert.ToInt32(ds.Tables[0].Rows[i]["IMG_ID"]);  
 -                         objThisIMGInfo.Image_Name = ds.Tables[0].Rows[i]["ImageName"].ToString();  
 -                         objThisIMGInfo.Image = (byte[])ds.Tables[0].Rows[i]["Photo"];  
 -   
 -   
 -                         objThisIMGInfo.Image_UploadedDate = ds.Tables[0].Rows[i]["UploadedDate"].ToString().Split(' ')[0];    
 -   
 -                         objImgInfo.Add(objThisIMGInfo);  
 -                     }  
 -                       
 -                 }  
 -             }  
 -             return objImgInfo.ToList();  
 -         }  
 -   
 -         public byte[] GetImageDetails(int id)  
 -         {  
 -             SqlConnection con = new SqlConnection(@"Data Source=MYPC\SqlServer2k8;Integrated Security=true;Initial Catalog=R-ImageGallery");  
 -             using (SqlCommand cmd = new SqlCommand())  
 -             {  
 -                 cmd.Connection = con;  
 -                 cmd.CommandType = CommandType.Text;  
 -                 cmd.CommandText = "SELECT Photo FROM Album_Details where IMG_ID=@ImageId";  
 -                 cmd.Parameters.AddWithValue("@ImageId", id);  
 -                 con.Open();  
 -                 SqlDataReader dr = cmd.ExecuteReader();  
 -                 ImageInfo objImageInfo = new ImageInfo();  
 -                 while (dr.Read())  
 -                 {  
 -                     objImageInfo.Image = (byte[])dr["Photo"];  
 -                 }  
 -                 return objImageInfo.Image;  
 -             }  
 -         }  
 -   
 -         public int UploadImage(ImageInfo objImageInfo)  
 -         {  
 -             SqlConnection con = new SqlConnection(@"Data Source=MYPC\SqlServer2k8;Integrated Security=true;Initial Catalog=R-ImageGallery");  
 -             using (SqlCommand cmd = new SqlCommand())  
 -             {  
 -                 cmd.Connection = con;  
 -                 cmd.CommandType = CommandType.Text;  
 -                 cmd.CommandText = "INSERT INTO Album_Details(ImageName,Photo) VALUES(@ImageName,@Photo)";  
 -                 cmd.Parameters.AddWithValue("@ImageName", objImageInfo.Image_Name);  
 -                 cmd.Parameters.AddWithValue("@Photo", objImageInfo.Image);  
 -                 con.Open();  
 -                 int result = cmd.ExecuteNonQuery();  
 -                 con.Close();  
 -                 return result;  
 -             }  
 -         }  
 -     }  
 - }  
 
 Now right-click on Controller -> Add New Controller (Albums):
- using System;  
 - using System.Collections.Generic;  
 - using System.Linq;  
 - using System.Web;  
 - using System.Web.Mvc;  
 - using AnImageGalleryApplicationInMVC4.Models;  
 - using System.IO;  
 -   
 - namespace AnImageGalleryApplicationInMVC4.Controllers  
 - {  
 -     public class AlbumsController : Controller  
 -     {  
 -         RAlbumService objAlbumModelService = new RAlbumService();  
 -   
 -         [HttpGet]          
 -         public ActionResult Index()  
 -         {  
 -             ViewBag.total = objAlbumModelService.GetAllImages().ToList().Count;  
 -             return View(objAlbumModelService.GetAllImages().ToList());  
 -         }  
 -   
 -         public ActionResult GetImgInformation(int id)  
 -         {  
 -             byte[] cover = objAlbumModelService.GetImageDetails(id);  
 -             if (cover != null)  
 -             {  
 -                 return File(cover, "image/jpg");  
 -             }  
 -             else  
 -             {  
 -                 return null;  
 -             }  
 -         }  
 -   
 -   
 -         [HttpPost]  
 -         public ActionResult Index(FormCollection collection)  
 -         {  
 -             HttpPostedFileBase file = Request.Files["ImageData"];  
 -             ImageInfo objAlbumMaster = new ImageInfo();  
 -             objAlbumMaster.Image_Name = collection["ImageName"].ToString();  
 -             objAlbumMaster.Image = ConvertToBytes(file);  
 -             objAlbumModelService.UploadImage(objAlbumMaster);  
 -             return View(objAlbumModelService.GetAllImages().ToList());  
 -         }  
 -   
 -         public byte[] ConvertToBytes(HttpPostedFileBase image)  
 -         {  
 -             byte[] imageBytes = null;  
 -             BinaryReader reader = new BinaryReader(image.InputStream);  
 -             imageBytes = reader.ReadBytes((int)image.ContentLength);  
 -             return imageBytes;  
 -         }  
 -     }  
 - }  
 
 Now right-click on the Index Method name add new view and do the following code:
- @model IList<AnImageGalleryApplicationInMVC4.Models.ImageInfo>  
 - @{  
 -     ViewBag.Title = "An Image Gallery Application In MVC 4";      
 - }  
 - <table>  
 -     <tr>  
 -         <td style="vertical-align: top; width: 15%;">  
 -             <table style="border: solid 2px Red; padding: 5px; width: 100%;">  
 -                 <tr>  
 -                     <td style="background-color: skyblue; color: red; text-align: center; font-weight: bold;">Upload Image   
 -                     </td>  
 -                 </tr>  
 -                 <tr>  
 -                     <td>  
 -                         @using (Html.BeginForm("Index", "Albums", FormMethod.Post, new { enctype = "multipart/form-data" }))  
 -                         {  
 -                             @Html.AntiForgeryToken()  
 -                             <table style="width: 100%;">  
 -                                 <tr>  
 -                                     <td style="padding-left: 10px;">Name :  
 -                                     </td>  
 -                                     <td>@Html.TextBox("ImageName", "", new { style = "width:200px" })  
 -                                     </td>  
 -                                 </tr>  
 -                                 <tr>  
 -                                     <td style="padding-left: 10px;">Image :  
 -                                     </td>  
 -                                     <td>  
 -                                         <input type="file" name="ImageData" id="ImageData" />  
 -                                     </td>  
 -                                 </tr>  
 -                                 <tr>  
 -                                     <td></td>  
 -                                     <td>  
 -                                         <input type="submit" name="submit" value="Upload" />  
 -                                     </td>  
 -                                 </tr>  
 -                             </table>  
 -                               
 -                         }  
 -   
 -                     </td>  
 -                 </tr>  
 -             </table>  
 -         </td>  
 -         <td style="vertical-align:top;">  
 -             <table style="border: solid 2px Green; padding: 5px; width: 100%;">  
 -                 <tr>  
 -                     <td colspan="4" style="background-color: skyblue; color: red; text-align: center; font-weight: bold;">All Uploaded Images  
 -                     </td>  
 -                 </tr>  
 -                 <tr>  
 -                     <td>  
 -                         <table>  
 -                             @{           
 -                                 const int ShowColumn = 3;  
 -                                 int OldRecords = 0;  
 -                                 var items = Model.Skip(OldRecords).Take(ShowColumn);  
 -   
 -                                 while (items.Count() > 0)  
 -                                 {  
 -                                 <tr>  
 -                                     @foreach (var item in items)  
 -                                     {  
 -                                         <td style="padding-left: 5px;">  
 -                                             <table>  
 -                                                 <tr>  
 -                                                     <td style="text-align: center;">  
 -                                                         <img src="/Albums/GetImgInformation/@item.Image_Id" width="140" />  
 -                                                     </td>  
 -                                                 </tr>  
 -                                                 <tr>  
 -                                                     <td style="text-align: center; font-weight: bold; color: Teal">@item.Image_Name | @item.Image_UploadedDate  
 -                                                     </td>  
 -                                                 </tr>  
 -                                                   
 -                                             </table>  
 -                                         </td>  
 -                                     }  
 -                                 </tr>  
 -                                     OldRecords += ShowColumn;  
 -                                     items = Model.Skip(OldRecords).Take(ShowColumn);  
 -                                 }  
 -                             }  
 -                         </table>  
 -                     </td>  
 -                 </tr>  
 -             </table>  
 -   
 -         </td>  
 -     </tr>  
 - </table>  
 
 Now run your application:
![Run your application]()
                                                                        Image 4.
![image]()
                                                                     Image 5.
![show image]()
                                                                      Image 6.