将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)    收藏  举报

导航