C#实现文件与Base64的相互转换
作者:黄瓜炒鸡蛋儿
本文主要介绍了C#实现文件与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; }
到此这篇关于C#实现文件与Base64的相互转换的文章就介绍到这了,更多相关C# 文件与Base64转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!