我再用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属性里的方法请看下一章

Logo

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

更多推荐