方法如下:
public string Base64StringToFile(string base64String, string fileName) { //文件后綴 string suffix = ""; try { //文件保存路徑 string fileFullPath = @"C:\Users\wenjingzhi\Desktop\MyBlog\UploadPictures"; //如果沒有文件夾,則創建 if (!Directory.Exists(fileFullPath)) { Directory.CreateDirectory(fileFullPath); } //獲取文件后綴 string i = base64String.Trim().Substring(0, base64String.IndexOf(",") + 1); suffix = i.Substring(i.IndexOf("/") + 1, i.IndexOf(";") - i.IndexOf("/") - 1); //將,以前的多余字符串刪除 string strbase64 = base64String.Trim().Substring(base64String.IndexOf(",") + 1); //將指定的字符串(它將二進制數據編碼為 Base64 數字)轉換為等效的 8 位無符號整數數組 MemoryStream stream = new MemoryStream(Convert.FromBase64String(strbase64)); //文件讀寫 FileStream fs = new FileStream(fileFullPath + "\\" + fileName + "." + suffix, FileMode.OpenOrCreate, FileAccess.Write); //將流寫入數組 byte[] b = stream.ToArray(); fs.Write(b, 0, b.Length); fs.Close(); } catch (Exception e) { System.Diagnostics.Trace.WriteLine("異常類型: \t" + e.GetType()); System.Diagnostics.Trace.WriteLine("異常描述:\t" + e.Message); System.Diagnostics.Trace.WriteLine("異常方法:\t" + e.TargetSite); System.Diagnostics.Trace.WriteLine("異常堆棧:\t" + e.StackTrace); } return fileName + "." + suffix; }
這是很久以前參考別人並稍微修改了一點,博文地址忘了,如果有知道的原博文的,可以提醒我一下,我會加上原博文地址的