ASP.NET Core C#中Byte[]转Image需引用哪个命名空间?
解决方案
Image类型的命名空间Image类属于System.Drawing命名空间,在代码顶部添加以下引用即可解决类型缺失问题:
using System.Drawing;
注意:如果你的项目是.NET Core/.NET 5及以上版本的ASP.NET应用,默认框架不包含该命名空间,需要通过NuGet包管理器安装 System.Drawing.Common 包才能使用。
- 更适合DataTable前端展示的优化方案
你当前的场景是通过Ajax给DataTable返回图片,其实不需要将byte[]转换为Image对象——直接转换为Base64编码字符串更适配前端展示需求:
public string ByteArrayToBase64(byte[] bytesArr) { return Convert.ToBase64String(bytesArr); }
后端返回该Base64字符串后,前端可以直接用 data:image/[图片格式];base64,[Base64字符串] 作为<img>标签的src属性值,DataTable中可通过列渲染函数直接生成图片标签,这样更高效且避免GDI+相关的兼容性问题。
内容的提问来源于stack exchange,提问作者Mizanur Rahaman
相关产品推荐
相关产品推荐

