Mapper.CreateMap<httpPostedfileBase,Byte[]>() .ForMember(d => d,opt => opt.MapFrom(s => { MemoryStream target = new MemoryStream(); s.inputStream.copyTo(target); return target.ToArray(); }));@H_419_7@我在s上得到一个错误:带有语句体的lambda表达式无法转换为表达式树. @H_419_7@那么我应该如何编写我的CreateMap才能使其工作?解决方法 至少有两种方法可以做到这一点: @H_419_7@ @H_419_7@>使用custom type converter: @H_419_7@
public class httpPostedfileBaseTypeConverter : ITypeConverter<httpPostedfileBase,byte[]>{ public byte[] Convert(ResolutionContext ctx) { var fileBase = (httpPostedfileBase)ctx.sourceValue; MemoryStream target = new MemoryStream(); fileBase.inputStream.copyTo(target); return target.ToArray(); }}@H_419_7@用法: @H_419_7@
Mapper.CreateMap<httpPostedfileBase,byte[]>() .ConvertUsing<httpPostedfileBaseTypeConverter>();@H_419_7@>使用ConstructUsing并以内联方式执行: @H_419_7@
Mapper.CreateMap<httpPostedfileBase,byte[]>() .ConstructUsing(fb =>{ MemoryStream target = new MemoryStream(); fb.inputStream.copyTo(target); return target.ToArray();});总结
以上是内存溢出为你收集整理的c# – 使用automapper从HttpPostedFileBase映射到Byte []全部内容,希望文章能够帮你解决c# – 使用automapper从HttpPostedFileBase映射到Byte []所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)