本文主要是介绍MVC Image.FromStream()转图片报错:内存不足,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我再用Image.FromStream 转成Image时因为数据过大,导致报错:内存不足。然后网上搜了很多方法也没什么用。先看我以前的代码吧
//解析json串JObject JsonTrackData = (JObject)JsonConvert.DeserializeObject(TrackData);//获取imageInfostring imgStrData = JsonTrackData["result"]["imageInfo"].ToString();//得到图片字节码//Base64解码byte[] bytes_data = Convert.FromBase64String(imgStrData);//bytes_data 长度9W++string urlData = Server.MapPath("~/TrackImage/Data.png");MemoryStream stream1 = new MemoryStream(bytes_data);Bitmap btm = new Bitmap(stream1);System.Drawing.Image imgData = Image.FromStream(stream1);//报错内存不足imgData.Save(urlData, System.Drawing.Imaging.ImageFormat.Png);//xxx.jpeg为文件名
然后我换了一种方式,把得到的数据直接绑定在页面的标签里像这样:
<img src="data:image/jpeg;base64,这里加还没有解码的imgStrData">
这样既避免了在后台运行过多的时间,又减少了好多代码
关于将图片转成可以直接放在src属性里的方法请看下一章
这篇关于MVC Image.FromStream()转图片报错:内存不足的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!