获取txt中的内容 把其中的base64转换成图片保存到指定文件夹

直接上代码:

/// <summary>
        /// 将Base64字符串转换为图片并保存到本地
        /// </summary>
        /// <param name="base64Str">访问的txt文件路径</param>
        /// <param name="savePath">图片保存地址,如:/Content/Images/10000.png</param>
        /// <returns></returns>
        public static bool Base64StrToImage(string txtPath, string savePath)
        {
            var ret = true;
            try
            {
                var ds= System.IO.File.ReadAllText(txtPath);
                ds = ds.Replace("\r\n","");
                ds = ds.Replace("\r","");
                var data = JsonConvert.DeserializeObject<Rootobject>(ds);
                List<string> base64s = new List<string>();//所有的图片base64
                data.Result.Data.XXCJ_TX.ROW.ForEach(e=>base64s.Add(e.TX));
                data.Result.Data.XXCJ_TSBJ.ROW.ForEach(e=>base64s.Add(e.BJ));
                data.Result.Data.XXCJ_BT.ROW.ForEach(e=>base64s.Add(e.DATA));
                data.Result.Data.XXCJ_ZWPHOTO.ROW.ForEach(e=>base64s.Add(e.ZWXP));

                foreach (var item in base64s)
                {byte[] arr2 = Convert.FromBase64String(item);
                    using (MemoryStream ms2 = new MemoryStream(arr2))
                    {
                        try
                        {
                            Image mImage = Image.FromStream(ms2);
                            System.Drawing.Bitmap bmp2 = new System.Drawing.Bitmap(mImage);
                            if (!Directory.Exists(Directory.GetCurrentDirectory() + savePath))
                            {
                                Directory.CreateDirectory(Directory.GetCurrentDirectory() + savePath);
                            }
                            bmp2.Save(Directory.GetCurrentDirectory() + savePath + "/" + DateTime.Now.ToString("yyyyMMddHHss") + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
                            bmp2.Dispose();
                        }
                        catch
                        {
                            //Console.WriteLine(item);//记录错误的图片
                            continue;
                        } 
                    }
                }
            }
            catch (Exception ex)
            {
                ret = false;
            }
            return ret;
        }

调用示例:

var temp = Base64StrToImage(@"C:\Users\Administrator\Documents\WeChat Files\wang2580288017\FileStorage\File\2019-12\zhiwen.txt", "/base64Images");

对于里面的类 太多(太麻烦)就不贴了,大致思路和逻辑是没问题的!!

猜你喜欢

转载自www.cnblogs.com/wwr01/p/12029525.html
今日推荐