Use following codes
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"Data Source=.\SQLEXPRESS;Database=LINQ_TestDB;User Id=sa;Password=Sa123;";
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "readImageData";
cmd.CommandType = CommandType.StoredProcedure;
SqlDataReader reader= cmd.ExecuteReader();
List<ImageData> lstImageData=new List<ImageData>();
while (reader.Read())
{
ImageData imd=new ImageData();
imd.FileName=reader[1].ToString();
byte[] mybyte = (byte[])reader[2];
imd.ImagePath ="data:application/jpeg;base64," +Convert.ToBase64String(mybyte);
lstImageData.Add(imd);
}
return View(lstImageData);
And View:
@using (Html.BeginForm("ImageUpload", "Image", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
Html.Label("Select Image:");
<input type="file" name="my_image"/>
<input type="submit" name="submit" value="Upload" />
}
@foreach (ImageData imd in Model)
{
<h3>@imd.FileName</h3>
<img src="@imd.ImagePath" Width="200" height="250" />
}
Model Class
public class ImageData
{
public int ID { get; set; }
public string FileName { get; set; }
public byte[] FileByte { get; set; }
public string ImagePath { get; set; }
}
I Guess your column type is varbinary(MAX)