Base64数据转换为图片,并保存到本地


首先要获取到Base64数据

 //imgData为Base64数据           
       if (imgData != "" && imgData != null)
            {
//这里是关键 m 获取的是当前运行项目的路径,
                string m = System.AppDomain.CurrentDomain.BaseDirectory;
//调用方法传入要存放的路径和Base64图片数据
                imgData = Base64StringToImage(m + @"images\AlarmPicture\", imgData);
            }
            else
            {
                imgData = "";
            }

下面是进行转换和保存到本地的方法

        /// <summary>
        /// 将Base64图片转为图片保存到本地
        /// </summary>
        /// <param name="strImagePath"></param>
        /// <param name="strBase64Image"></param>
        /// <returns></returns>
        public static string Base64StringToImage(string strImagePath, string strBase64Image)
        {

            string jpgName = string.Empty;
            TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0);
       //这里是将图片按时间戳进行重命名,并加上文件格式
            jpgName = Convert.ToInt64(ts.TotalSeconds).ToString() + ".jpg";
          //有的base64数据传过来的前缀是文件的名称,可以使用此方法去除掉
            //string[] img_array = strBase64Image.Split(',');
            byte[] arr = Convert.FromBase64String(strBase64Image);
            string jpgPathName = strImagePath + jpgName;
            //byte[] arr = Convert.FromBase64String(strBase64Image);
            MemoryStream ms = new MemoryStream(arr);
            System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(ms);

            bmp.Save(jpgPathName, System.Drawing.Imaging.ImageFormat.Jpeg);
            //bmp.Save(jpgPathName, System.Drawing.Imaging.ImageFormat.Bmp);
            //bmp.Save(txtFileName + ".gif", ImageFormat.Gif);
            //bmp.Save(txtFileName + ".png", ImageFormat.Png);
            ms.Close();
            return jpgPathName;
        }        

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM