新闻中心
C# 如何将 Base64 字符串转换为图片_C# Base64 转图片实现指南
答案:在C#中将Base64字符串转换为图片需先去除data:image/{类型};base64,前缀,再用Convert.FromBase64String解码为字节数组,接着通过MemoryStream创建Image对象并保存。1. 检查并截取逗号后有效Base64内容;2. 解码为byte[];3. 使用using(MemoryStream)和Image.FromStream加载图像;4. 调用S*e输出文件。需捕获FormatException等异常确保健壮性,完整流程包含前缀处理、解码、流操作与资源释放。

在 C# 中将 Base64 字符串转换为图片是一个常见的需求,比如处理前端传来的图像数据、保存用户上传的头像等。实现过程并不复杂,核心是将 Base64 字符串解码为字节数组,再通过内存流创建图像对象。
1. 理解 Base64 图片字符串格式
Base64 编码的图片通常以 data:image/{类型};base64, 开头,例如:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...在转换前需要先移除前面的 MIME 类型声明部分,只保留真正的 Base64 内容。
2. 去除 Data URI 前缀并解码
使用 Substring 或 IndexOf 判断是否存在前缀,并提取有效 Base64 数据:
string base64String = originalString; int indexOfComma = originalString.IndexOf(","); if (indexOfComma > 0 && originalString.StartsWith("data:image")) { base64String = originalString.Substring(indexOfComma + 1); } byte[] imageBytes = Convert.FromBase64String(base64String);3. 使用 MemoryStream 创建 Image 对象
将字节数组写入内存流,然后用 Image.FromStream 加载图片:
刺鸟创客
一款专业高效稳定的AI内容创作平台
110
查看详情
using (MemoryStream ms = new MemoryStream(imageBytes))
{
Image image = Image.FromStream(ms);
// 可保存到文件或赋值给 PictureBox
image.S*e("output.png", System.Drawing.Imaging.ImageFormat.Png);
}
注意:MemoryStream 和 Image 都实现了 IDisposable,建议用 using 确保资源释放。
4. 完整示例代码
以下是一个完整的控制台示例:
string base64 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAE..."; try { int idx = base64.IndexOf("base64,"); if (idx != -1) base64 = base64.Substring(idx + 7);
byte[] bytes = Convert.FromBase64String(base64);
using (MemoryStream ms = new MemoryStream(bytes))
{
using (Image img = Image.FromStream(ms))
{
img.S*e("decoded_image.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
Console.WriteLine("图片已保存!");
}
}} catch (FormatException) { Console.WriteLine("Base64 格式错误"); } catch (Exception ex) { Console.WriteLine("转换失败: " + ex.Message); }
基本上就这些。只要确保 Base64 字符串完整、无多余字符,并正确处理前缀和异常,就能稳定实现转换。
以上就是C# 如何将 Base64 字符串转换为图片_C# Base64 转图片实现指南的详细内容,更多请关注其它相关文章!
# 相关文章
# 推广网站哪些好做点的
# 民宿推广营销文案简短
# 文具类营销方法推广介绍
# 汕头快速优化网站
# 糯米鸡营销推广方案范文
# 陇南矩阵系统关键词排名
# 大鱼营销品牌推广方案
# 精准推广营销公司简介
# 北京学会网站建设
# 自己建设网站有多难啊
# 再用
# 解决问题
# 中文网
# 前端
# 就能
# 加载
# 身份验证
# 如何将
# 是一个
# 转换为
# c#
# stream
# win
# 字节
# 编码
# go
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
LINUX的perf命令入门_LINUX官方性能分析工具的使用与解读
押井守高度称赞《辐射4》:玩了八年都停不下来!
怎样使用“本地安全策略”提升Windows安全性_Secpol.msc配置指南【高手】
J*a应用集成GitHub CLI与API认证指南
Win11怎么开启高性能模式_Windows 11电源计划优化设置
ArrayList与LinkedList操作复杂度详解:遍历与修改
C++如何生成随机数_C++ random库使用方法与范围设置
谷歌浏览器怎么给标签页静音_Chrome标签静音快捷操作
PHP中高效并行检查多链接状态的教程
Angular中单选按钮的正确使用与常见陷阱解析
win11 arm版怎么安装 M1/M2 Mac虚拟机安装ARM win11的方法
2026年发布! 美少女养成动作RPG《神剑少女战记》发布实机演示
中兴Axon42Ultra怎样在文件App筛图_iPhone中兴Axon42Ultra文件App筛图【图片筛选】
PS5 Pro有点优势但不多! 《燕云十六声》PS5平台与PC性能画面对比
QQ邮箱官方网站登录入口_QQ邮箱网页版在线使用
html怎么运行外部js文件中的函数_运html外js文件函数法【技巧】
俄罗斯方块最新版入口 俄罗斯方块在线玩官网入口
照顾宝贝2小游戏点击立即在线玩
Win10如何恢复误删的快捷方式_Win10重建常用软件快捷方式
Composer中的^和~符号代表什么_精通Composer版本号语义化约束
自定义Bag-of-Words实现:处理带负号的词汇权重
mcjs网页版流畅运行 mcjs低配电脑畅玩入口
铁路12306官网网页端快速入口 铁路12306官方首页登录教程
QQ邮箱官网登录入口 QQ邮箱网页版邮箱快速登录
J*aScript异步迭代器_j*ascript异步遍历
Windows7怎么硬盘安装 Windows7提取ISO镜像到非系统盘并运行setup.exe实现硬盘直装【教程】
AI抖音网页版免费视频入口 AI抖音网页端最新视频实时观看
php源码怎么在电脑上测试_电脑测试php源码方法步骤【教程】
QQ邮箱在线登录平台 QQ邮箱个人邮箱网页版入口
TikTok国际版官网直达_TikTok国际版官网直达进入在线观看
在J*a中如何使用Stream.map转换元素_Stream映射操作解析
苹果手机指南针不准怎么校准 传感器校准方法详解【建议收藏】
可靠CSGO开箱平台解析 CSGO开箱网合集
深入理解Promise链:如何在catch后中断then的执行
Django表单验证失败时保留用户输入数据的最佳实践
Go语言中Map存储的结构体如何调用指针方法:深入解析与实践
sublime如何处理大型CSV文件的列对齐_sublime高级表格编辑插件指南
解决移动端滚动问题的overflow属性应用指南
J*aScript中localStorage数据的获取、清洗与格式化教程
Golang如何实现容器化日志收集与分析_Golang容器日志收集分析方法
新三国志曹操传110级星符试炼夏侯渊极难攻略
4399免费游戏网址入口 4399小游戏免费入口点开即玩
Python getattr() 异常处理深度解析:避免程序意外退出
学习通网页版官方登录 超星学习通电脑端入口指南
sublime侧边栏怎么增强功能_SideBarEnhancements for sublime安装与配置
Go Martini框架:动态服务解码后的图片内容
一加Ace 6T支持全新明眸护眼:通过了最严苛的护眼小金标认证
wps文字怎么插入目录并自动更新_wps文字如何插入目录并自动更新方法
word中如何让数字纵向排列_Word数字纵向排列方法
抖音DOU+怎么投最有效 抖音付费推广的ROI提升技巧


2025-11-05
浏览次数:次
返回列表