1. 程式人生 > 其它 >Base64資料轉換為圖片,並儲存到本地

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; }