首页 > 编程语言 >C# 文件与Base64的相互转换

C# 文件与Base64的相互转换

时间:2023-03-14 16:22:54浏览次数:40  
标签:文件 转换 string sFilePath C# Base64 filestream sFileName

一.转换工具:

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;
}

标签:文件,转换,string,sFilePath,C#,Base64,filestream,sFileName
From: https://www.cnblogs.com/canfengfeixue/p/17215319.html

相关文章