在C#开发中,可以根据需求对文件进行base64的转码和解码。本文将提供两个函数实现上述功能,支持多种格式的文件和base64编码之间的相互转换,包括图片(例:gif、jpg、png、bmp)、文档(例:txt、doc、xlsx)、压缩包(例:zip、rar)等。
/// <summary>
/// 文件转为base64编码
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
public string FileToBase64Str(string filePath)
{
string base64Str = string.Empty;
try
{
using (FileStream filestream = new FileStream(filePath, FileMode.Open))
{
byte[] bt = new byte[filestream.Length];
//调用read读取方法
filestream.Read(bt, 0, bt.Length);
base64Str = Convert.ToBase64String(bt);
filestream.Close();
}
return base64Str;
}
catch (Exception ex)
{
return base64Str;
}
}
/// <summary>
/// 文件base64解码
/// </summary>
/// <param name="base64Str">文件base64编码</param>
/// <param name="outPath">生成文件路径</param>
public void Base64ToOriFile(string base64Str, string outPath)
{
var contents = Convert.FromBase64String(base64Str);
using (var fs = new FileStream(outPath, FileMode.Create, FileAccess.Write))
{
fs.Write(contents, 0, contents.Length);
fs.Flush();
}
}