我使用的是automapper lib,用于将图像转换为byte [],将byte []转换为模型中的图像
m.CreateMap<Image, byte[]>().ConvertUsing<ImageToByteResolver>();
m.CreateMap<byte[], Image>().ConvertUsing<ByteToImageResolver>();
当我获取数据时,automapper将byte []数据转换为图像但转换数据中出现错误
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;
}
}
}
}
修改
这是我获取数据时的错误
但是,在将byte[]
转换为image
时,错误不会发生
答案 0 :(得分:2)
我用更改转换代码解决了我的问题:
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();
}
}