在C#中,你可以使用System.IO
和System.Convert
命名空间中的类来将文件转换为Base64编码,以及将Base64编码转回文件。下面提供这两个函数的实现:
using System;
using System.IO;
using System.Text;
public class Base64Converter
{
/// <summary>
/// 将Base64字符转为图片
/// </summary>
/// <param name="base64String"></param>
/// <returns></returns>
public static Image Base64ToImage(string base64String)
{
// Convert Base64 String to byte[]
byte[] imageBytes = Convert.FromBase64String(base64String);
MemoryStream ms = new MemoryStream(imageBytes, 0,
imageBytes.Length);
// Convert byte[] to Image
ms.Write(imageBytes, 0, imageBytes.Length);
Image image = Image.FromStream(ms, true);
return image;
}
/// <summary>
/// 将图片转为Base64编码
/// </summary>
/// <param name="bitmap"></param>
/// <returns></returns>
public static string BitmapToBase64(System.Drawing.Image bitmap)
{
MemoryStream ms1 = new MemoryStream();
bitmap.Save(ms1, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] arr1 = new byte[ms1.Length];
ms1.Position = 0;
ms1.Read(arr1, 0, (int)ms1.Length);
ms1.Close();
return Convert.ToBase64String(arr1);
}
}
这两个函数的调用方法:
class Program
{
static void Main(string[] args)
{
string filePath = @"C:\path\file.bmp"; // 替换为你的图片路径
string base64String = Base64Converter.BitmapToBase64(filePath);
Console.WriteLine("Base64编码字符: " + base64String);
string outputFilePath = @"C:\path\file.bmp"; // 替换为你希望保存的文件路径
Base64Converter.Base64ToImage(base64String, outputFilePath);
Console.WriteLine("图片已经由base64编码创建完成");
}
}