MVC Image.FromStream()转图片报错:内存不足
我再用Image.FromStream 转成Image时因为数据过大,导致报错:内存不足。然后网上搜了很多方法也没什么用。先看我以前的代码吧//解析json串JObject JsonTrackData = (JObject)JsonConvert.DeserializeObject(TrackData);//获取imageInfo
·
我再用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属性里的方法请看下一章

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)