【发布时间】:2022-01-27 18:31:54
【问题描述】:
我想将字节数组转换为图像。我在 StackOverFlow 中搜索了很多帖子,找到了下面的代码。
public Image ByteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = Image.FromStream(ms); // <-- Error here
return returnImage;
}
但我在 Image.FromStream 中得到一个错误是 'Image' 不包含 'FromStream' 的定义 并且找不到任何有关如何修复的信息这个。
有一个用户had the same error 9 多年前和我一样,但仍然没有答案。
我找到了一种方法是:
public Image ByteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
Image returnImage = System.Drawing.Image.FromStream(ms); // <-- Add System.Drawing. here
return returnImage;
}
还有一种方式:
public Image ByteArrayToImage(byte[] byteArrayIn)
{
MemoryStream ms = new MemoryStream(byteArrayIn);
System.Drawing.Image returnImage = System.Drawing.Image.FromStream(ms); // <-- Add System.Drawing. here
return returnImage; // <-- Error here
}
但两种方式都会产生一个新错误:无法将类型“System.Drawing.Image”隐式转换为“Repository.Entities.Image”。
这是我在 Repository.Entities 中的 图像文件:
public partial class Image
{
public int Id { get; set; }
public int? IdObj { get; set; }
public string Url { get; set; }
public sbyte? Thumbnail { get; set; }
public string Type { get; set; }
}
如何解决?期待收到答复。
【问题讨论】:
-
您的
Image类与System.Drawing.Image类完全无关。 -
您在 System.Drawing.Image 之间感到困惑
-
目前尚不清楚您要达到的目标。你为什么还要研究 System.Drawing?
-
抱歉,如果我的问题相当愚蠢和不清楚。我在 System.Drawing.Image 和 Repository.Entities.Image 之间感到困惑。下面的答案可以帮助我理解和解决这个问题。
标签: c# asp.net-core