Fork me on GitHub

C# 文件与Base64的相互转换

一.转换工具:

1.在线图片转Base64编码

2.BeJson在线JSON校验格式化工具

3.Base64在线加密,解密

二.Base64转文件代码:

这个案例是,将已经获取到的Base64字符串,转换成文件,保存到服务器的某个文件路径下面。
注意:案例中的Base64字符串:document.content不含有“data:application/pdf;base64,”之类的前缀,请自行用Substring等方法剔除。

//documents是系统自定义的类,里面包含了文件类型:imageFormat,Base64字符串:content

public void SaveDocument(Documents document)
{
string sFilePath = "服务器文件路径" + "\\Documents"; //创建路径文件夹
string sFileName = "文件名字"+ "." + document.imageFormat.ToLower(); //这里的imageFormat就是文件类型
sFileName = sFilePath + "\\" + sFileName;
//路径不存在,则创建路径
if (!Directory.Exists(sFilePath))
{
Directory.CreateDirectory(sFilePath);
}
//如果文件已经存在,则删除文件
if (System.IO.File.Exists(sFileName))
{
System.IO.File.Delete(sFileName);
}
//注意:文件直接转base64前面会带有“data:application/pdf;base64,”前缀,需要去掉。
byte[] DocBytes = Convert.FromBase64String(document.content);
//文件流创建文件内容
FileStream fs = new FileStream(sFileName, FileMode.CreateNew);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(DocBytes, 0, DocBytes.Length);
bw.Close();
fs.Close();
}


三.文件转Base64代码:

//文件全路径:fileName
public string DocumentToBase64Str(string fileName)
{
FileStream filestream = new FileStream(fileName, FileMode.Open);

byte[] bt = new byte[filestream.Length];
//调用read读取方法
filestream.Read(bt, 0, bt.Length);
string base64Str = Convert.ToBase64String(bt);
filestream.Close();
return base64Str;
}

posted @ 2023-03-14 16:13  残风飞雪  阅读(996)  评论(0编辑  收藏  举报

博客地址 - 创建于 2022年4月12日

这是一位.Net软件研发工程师的个人站,内容主要是网站开发方面的技术文章,大部分来自学习或工作,部分来源于网络,希望对大家有所帮助。

致力于web网站开发工作,专注软件开发,关注互联网前沿技术与趋势。


Font Awesome Bootstrap中文网