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