如何将StringBase64转换为图片?附实现方法示例说明
将Base64字符串转换为图片的实现方法
嘿,这里给你分享把Base64字符串转成图片的具体实现方案,直接看示例就行,你还可以根据需求调整方法让它接收字符串参数,最后调用.Save()方法就能轻松保存图片对象啦!
核心实现思路
- 解码Base64字符串为字节数组
- 将字节数组通过内存流转换为Image对象
- 调用Image对象的
.Save()方法保存到指定路径
代码示例(C#)
using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; public class Base64ImageHelper { // 可直接接收Base64字符串的转换方法 public Image ConvertBase64ToImage(string base64Content) { // 处理带前缀的Base64字符串(比如"data:image/png;base64,") if (!string.IsNullOrEmpty(base64Content) && base64Content.StartsWith("data:image/")) { base64Content = base64Content.Split(',')[1]; } // 解码Base64到字节数组 byte[] imageBytes = Convert.FromBase64String(base64Content); // 通过内存流生成Image对象 using (var memoryStream = new MemoryStream(imageBytes)) { return Image.FromStream(memoryStream); } } // 调用示例 public void SaveImageFromBase64() { // 替换成你的Base64字符串 string targetBase64 = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5gMVESkqQzkWSwAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAUSURBVDjLY2AAAAACAAHiIbwzAAAAAElFTkSuQmCC"; Image resultImage = ConvertBase64ToImage(targetBase64); // 保存为PNG格式到指定路径 resultImage.Save(@"C:\SavedImages\output.png", ImageFormat.Png); // 记得释放资源 resultImage.Dispose(); } }
注意事项
- 如果使用的是.NET Core/.NET 5+版本,需要先安装
System.Drawing.CommonNuGet包才能使用System.Drawing相关类 - 若Base64字符串包含
data:image/xxx;base64,前缀,一定要先去除,否则会解码失败 - 调用
.Save()时可以指定不同的图片格式,比如ImageFormat.Jpeg、ImageFormat.Gif等,按需选择就行
内容的提问来源于stack exchange,提问作者Swapnil Malap
相关产品推荐
相关产品推荐

