MVC Image.FromStream()转图片报错:内存不足

我再用Image.FromStream 转成Image时因为数据过大,导致报错:内存不足。然后网上搜了很多方法也没什么用。先看我以前的代码吧

//解析json串
                JObject JsonTrackData = (JObject)JsonConvert.DeserializeObject(TrackData);
                //获取imageInfo
                string 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属性里的方法请看下一章

你可能感兴趣的:(c#,MVC)