将base64字符串转换成图片保存至本地
static void Main(string[] args)
{
string path = @"C:\TianJin\1.txt";//这里指的是 我存放base64字符串的 文本文件
//string Flag = "false";
string filename = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss")+".png";
try
{
var strbase64=File.ReadAllText(path);
//将不规则的字符串 转换成规则的base64
string dummyData = strbase64.Trim().Replace("%", "").Replace(",", "").Replace(" ", "+");
byte[] arr = Convert.FromBase64String(dummyData);//将指定的字符串(它将二进制数据编码为 Base64 数字)转换为等效的 8 位无符号整数数组。
//var savepath = @"C:\TianJin\testsssss.png";
var savepath = $"C:\\TianJin\\{filename}";
using (FileStream fs = new FileStream(savepath,FileMode.Create))
{
fs.Write(arr, 0, arr.Length - 1);
fs.Flush();//清楚缓存区内容 ,,并且将已经缓存的数据写入
fs.Dispose();
}
}
catch (Exception ex)
{
Console.Write("保存失败:"+ex);
}
//return Flag;
}
第二种方式:
using System; using System.IO; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string imgdata = @"C:\Users\58475\Desktop\base64.txt"; var imgdataByte = File.ReadAllText(imgdata); //var time = DateTime.Today.ToString("yyyyMMdd"); // Console.WriteLine(time); var path = SaveImage(imgdataByte); Console.WriteLine(path); Console.ReadKey(); } //imgdata 是 base64字符串 public static string SaveImage(string imgdata) { string result = ""; try { string imgPath = $"D:\\Pic\\Device\\{DateTime.Today.ToString("yyyyMMdd")}"; byte[] bytes = Convert.FromBase64String(imgdata.Replace("data:image/jpg;base64,", "")); string filename = DateTime.Now.ToString("yyyyMMdd-HH-mm-ss") + ".png";//图片名 if (!Directory.Exists(imgPath)) { Directory.CreateDirectory(imgPath); } string path = imgPath + "\\" + filename; File.WriteAllBytes(path, bytes); result = path;//获取保存后的路径 } catch (Exception ee) { result = ""; } return result; } } }
posted on 2022-02-15 10:53 泰坦尼克号上的活龙虾 阅读(703) 评论(0) 收藏 举报