0

0

C# 怎么将图片转换为 Base64 字符串_C# 图片转 Base64 方法教程

幻夢星雲

幻夢星雲

发布时间:2025-11-04 08:35:21

|

276人浏览过

|

来源于php中文网

原创

答案:C#中将图片转为Base64需读取字节数组并用Convert.ToBase64String编码,常用FileStream或File.ReadAllBytes读取,可结合MIME类型生成Data URI,注意大文件性能与权限问题。

c# 怎么将图片转换为 base64 字符串_c# 图片转 base64 方法教程

在 C# 中将图片转换为 Base64 字符串非常实用,尤其是在需要通过 JSON 或 API 传输图像数据时。实现过程简单明了:读取图片文件为字节数组,再使用 Convert.ToBase64String 方法编码即可。

1. 使用 FileStream 读取图片并转为 Base64

这是最常见的方式,适用于本地图片文件。

string imagePath = @"C:\images\example.jpg"; // 图片路径
byte[] imageBytes;

using (FileStream fileStream = new FileStream(imagePath, FileMode.Open, FileAccess.Read)) { using (BinaryReader binaryReader = new BinaryReader(fileStream)) { imageBytes = binaryReader.ReadBytes((int)fileStream.Length); } }

string base64String = Convert.ToBase64String(imageBytes); Console.WriteLine("Base64 字符串: " + base64String);

2. 使用 File.ReadAllBytes 简化读取

更简洁的方法,适合小文件。

string imagePath = @"C:\images\example.png";
byte[] imageBytes = File.ReadAllBytes(imagePath);
string base64String = Convert.ToBase64String(imageBytes);

// 可选:添加 Data URI 前缀(用于网页显示) string dataUri = $"data:image/png;base64,{base64String}";

3. 获取图片 MIME 类型动态生成 Data URI

如果你希望生成通用的 Data URI,可以按扩展名判断类型。

甲骨文AI协同平台
甲骨文AI协同平台

专门用于甲骨文研究的革命性平台

下载
public static string ImageToBase64(string imagePath)
{
    if (!File.Exists(imagePath))
        throw new FileNotFoundException("图片未找到", imagePath);
byte[] imageBytes = File.ReadAllBytes(imagePath);

string mimeType = GetMimeType(imagePath);
string base64 = Convert.ToBase64String(imageBytes);

return $"data:{mimeType};base64,{base64}";

}

private static string GetMimeType(string path) { string ext = Path.GetExtension(path).ToLower(); return ext switch { ".jpg" or ".jpeg" => "image/jpeg", ".png" => "image/png", ".gif" => "image/gif", ".bmp" => "image/bmp", ".webp" => "image/webp", _ => "image/unknown" }; }

4. 注意事项与建议

转换前注意以下几点,避免常见问题

  • 大图片会生成很长的 Base64 字符串,影响性能,建议压缩或限制尺寸
  • 确保程序有读取图片文件的权限
  • Base64 编码后数据体积约增加 33%,传输时考虑效率
  • Web 应用中使用 Data URI 时,部分旧浏览器有长度限制

基本上就这些。C# 图片转 Base64 的方法不复杂,关键是正确读取字节流并编码。根据实际场景选择合适的方式即可。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

412

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

533

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

310

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

75

2025.09.10

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

318

2023.08.02

switch语句用法
switch语句用法

switch语句用法:1、Switch语句只能用于整数类型,枚举类型和String类型,不能用于浮点数类型和布尔类型;2、每个case语句后面必须跟着一个break语句,以防止执行其他case的代码块,没有break语句,将会继续执行下一个case的代码块;3、可以在一个case语句中匹配多个值,使用逗号分隔;4、Switch语句中的default代码块是可选的等等。

534

2023.09.21

Java switch的用法
Java switch的用法

Java中的switch语句用于根据不同的条件执行不同的代码块。想了解更多switch的相关内容,可以阅读本专题下面的文章。

417

2024.03.13

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

258

2023.08.03

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

3

2026.01.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
C# 教程
C# 教程

共94课时 | 7.1万人学习

C 教程
C 教程

共75课时 | 4.1万人学习

C++教程
C++教程

共115课时 | 13万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号