在.NET中可轻松将图片转为Base64字符串,首先读取文件字节流并用Convert.ToBase64String编码,再根据需要添加MIME类型前缀以支持HTML显示,适用于内嵌图片场景。
在 .NET 中将图片文件转换为 Base64 字符串非常简单,只需要读取图片的二进制数据,然后使用 Convert.ToBase64String 方法进行编码即可。以下是具体实现方法。
你可以使用 File.ReadAllBytes 读取图片文件的字节流,再将其编码为 Base64 字符串:
using System;
using System.IO;
public static string ImageToBase64(string imagePath)
{
byte[] imageBytes = File.ReadAllBytes(imagePath);
string base64String = Convert.ToBase64String(imageBytes);
return base64String;
}
调用示例:
string imagePath = @"C:\images\sample.jpg"; string base64 = ImageToBase64(imagePath); Console.WriteLine(base64);
如果要在 HTML 中直接显示图片,可以加上 MIME 类型前缀:
public static string ImageToBase64WithMimeType(string imagePath)
{
byte[] imageBytes = File.ReadAllBytes(imagePath);
string base64String = Convert.ToBase64String(imageBytes);
// 根据文件扩展名判断 MIME 类型
string mimeType = GetMimeType(imagePath);
return $"data:{mimeType};base64,{base64String}";
}
private static string GetMimeType(string filePath)
{
return Path.GetExtension(filePath).ToLower() switch
{
".jpg" or ".jpeg" => "image/jpeg",
".png" => "image/png",
".gif" => "image/gif",
".bmp" => "image/bmp",
".webp" => "image/webp",
_ => "image/octet-stream"
};
}
这样生成的字符串可以直接用于 HTML 的 img 标签:
处理图片转 Base64 时需要注意以下几点:
基本上就这些。.NET 实现图片到 Base64 转换很直观,关键是正确读取字节流并编码。配合 MIME 类型还能直接用于前端展示,适合小型项目或配置内嵌图片使用。