C# 为什么抛出类型为';System.ArgumentException';
我使用automapper库,用于在模型中将图像转换为字节[],将字节[]转换为图像C# 为什么抛出类型为';System.ArgumentException';,c#,automapper,C#,Automapper,我使用automapper库,用于在模型中将图像转换为字节[],将字节[]转换为图像 m.CreateMap<Image, byte[]>().ConvertUsing<ImageToByteResolver>(); m.CreateMap<byte[], Image>().ConvertUsing<ByteToImageResolver>(); m.CreateMap().ConvertUsing(); m、 CreateMap().Conve
m.CreateMap<Image, byte[]>().ConvertUsing<ImageToByteResolver>();
m.CreateMap<byte[], Image>().ConvertUsing<ByteToImageResolver>();
m.CreateMap().ConvertUsing();
m、 CreateMap().ConvertUsing();
当我获取数据时,自动映射将字节[]数据转换为图像,但在转换数据时发生错误
public class ByteToImageResolver : ITypeConverter<byte[],Image>
{
public Image Convert(byte[] source, Image destination, ResolutionContext context)
{
using (var memStream = new System.IO.MemoryStream(source))
{
using (var bitmap = Bitmap.FromStream(memStream))
{
return (Image)bitmap;
}
}
}
}
公共类ByteToImageResolver:ITypeConverter
{
公共映像转换(字节[]源、映像目标、ResolutionContext上下文)
{
使用(var memStream=new System.IO.MemoryStream(源))
{
使用(var bitmap=bitmap.FromStream(memStream))
{
返回(图像)位图;
}
}
}
}
编辑
这是我获取数据时的错误
但是,将字节[]
转换为图像时,不会发生错误
我解决了更改转换代码的问题,如下所示:
public Image Convert(byte[] source, Image destination, ResolutionContext context)
{
using (var memStream = new System.IO.MemoryStream(source))
using (var bitmap = Bitmap.FromStream(memStream))
{
var img = (Image)bitmap;
return (Image)img.Clone();
}
}
我解决了更改转换代码的问题,如下所示:
public Image Convert(byte[] source, Image destination, ResolutionContext context)
{
using (var memStream = new System.IO.MemoryStream(source))
using (var bitmap = Bitmap.FromStream(memStream))
{
var img = (Image)bitmap;
return (Image)img.Clone();
}
}
请发布整个异常堆栈跟踪和异常消息。我怀疑您在位图.FromStream
构造函数中遇到GDI参数异常,这意味着您没有正确加载图像文件,或者您正在加载GDI不支持的图像类型。当您的方法返回时,最内部的using
已退出,您正在处理位图
请发布整个异常堆栈跟踪和异常消息。我怀疑您在位图.FromStream
构造函数中遇到GDI参数异常,这意味着您没有正确加载图像文件,或者您正在加载GDI不支持的图像类型。当您的方法返回时,最内部的using
将退出,您正在处理位图