How can I display data type var binary to image from SQL Server
Below the code: SQL:
CREATE TABLE [dwi].[wi_PartVariant](
[PartVariantId] [int] IDENTITY(1,1) NOT NULL,
[VariantImage] [varbinary](max) NULL
Inserted Table Value with byte format:
Example Value: 0x660030006600320065003000330033002D0062003800610038002D0034003500610034002D0062003700610031002D003900370037006300320037003100300034006600340061002E004A0050004700
Get all data from table i got Byte format
How to change byte to image format to display user.
Below the Code for your reference.
public List<PartVariant> GetPartVariant(IDapperORM _db, string connection)
{
SqlConnection conn = new SqlConnection(connection);
List<PartVariant> MasterList = new List<PartVariant>();
SqlCommand com = new SqlCommand("GetPartVariant", conn);
com.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(com);
DataTable dt = new DataTable();
conn.Open();
da.Fill(dt);
conn.Close();
foreach (DataRow dr in dt.Rows)
{
MasterList.Add(
new PartVariant
{
PartVariantId = Convert.ToInt32(dr["PartVariantId"]),
VariantCode = Convert.ToString(dr["VariantCode"]),
Name = Convert.ToString(dr["Name"] == DBNull.Value ? null : dr["Name"].ToString()),
Description = Convert.ToString(dr["Description"] == DBNull.Value ? null : dr["Description"].ToString()),
VariantColor = Convert.ToString(dr["VariantColor"] == DBNull.Value ? null : dr["VariantColor"].ToString()),
PartCode = Convert.ToString(dr["PartCode"] == DBNull.Value ? null : dr["PartCode"].ToString()),
VariantImage = (byte[])(dr["VariantImage"] == DBNull.Value ? null : dr["VariantImage"]),
Active = Convert.ToBoolean(dr["Active"] == DBNull.Value ? null : dr["Active"].ToString()),
CreatedDate = Convert.ToDateTime(dr["CreatedDate"] == DBNull.Value ? null : dr["CreatedDate"].ToString()),
}
);
}
return MasterList;
}
Controller:
public IActionResult PartVariant()
{
Part_Bind();
viewLookup look = new viewLookup();
var model = look.GetPartVariant(_db, connectionString);
TempData["partVariant"] = model;
return View();
}
HTML:
@if (item.Key.VariantImage != null)
{
<img style="width: 100px; height: 100px; border-radius: 50px;" src="@Url.Content(String.Format("~/images/PartVariant/" + item.Key.VariantImage))" />
}
else
{
<img style="width:100px;height:100px;" src="~/images/avatar-sign.png" />
}
Final output: