我有一个包含 3 列的 SQL Server 数据库,其中 2 列是字符串,1 列是 jpeg。图像存储为VARBINARY(MAX)
.
我已将此数据保存到 ASP.NET 中的 DataTable 中。我想将图像作为字节数组,但显然它是类型对象......或者是吗?
什么是dt.rows[0 ][2 ],
对象或字节数组?如果它不是字节数组,为什么.ToString()
返回System.Byte[]
?
我的索引控制器
public IActionResult Index()
{
SqlConnection con = new SqlConnection("Data Source=DESKTOP-896D683;Initial Catalog=aspdb1;Integrated Security=True");
SqlDataAdapter sda = new SqlDataAdapter(" select * from stuff_for_carrousel ", con);
List<front_page> mi_list = new List<front_page>();
DataTable dt = new DataTable();
sda.Fill(dt);
Image newImage = mi_converter.convert_to_image(dt.Rows[0][2]);
ViewData["dd"] = dt.Rows[0][0].ToString();
ViewData["ccc"] = dt.Rows[0][1].ToString();
ViewData["ts"] = dt.Rows[0][2].GetType().ToString();
return View();
}
我的转换器
public class mi_converter
{
public Image convert_to_image(byte[] b)
{
using (var ms = new MemoryStream(b))
{
return Image.FromStream(ms);
}
}
}
}
我想我只需要转换dt.rows[0][2]
为字节数组。