1.图片转换为Base64

/// <summary> /// 图片转换为base64 /// </summary> /// <param name="imagefile">图片路径</param> /// <param name="picFomatter">图片格式(.jpg、.png等)</param> /// <returns></returns> public string GetBase64FromImage(string imagefile,string picFomatter) { string strbaser64 = ""; try { Bitmap bmp = new Bitmap(imagefile); MemoryStream ms = new MemoryStream(); ImageFormat format = ImageFormat.Jpeg; switch (picFomatter) { case "png": format = ImageFormat.Png; break; case "bmp": format = ImageFormat.Bmp; break; } bmp.Save(ms, format); byte[] arr = new byte[ms.Length]; ms.Position = 0; ms.Read(arr, 0, (int)ms.Length); ms.Close(); ms.Dispose(); strbaser64 = Convert.ToBase64String(arr); switch (picFomatter) { case "jpg": strbaser64 = "data:image/" + picFomatter + ";base64," + strbaser64; break; case "jpeg": strbaser64 = "data:image/" + picFomatter + ";base64," + strbaser64; break; case "bmp": strbaser64 = "data:image/" + picFomatter + ";base64," + strbaser64; break; default: strbaser64 = "data:image/png" + ";base64," + strbaser64; break; } } catch (Exception) { throw new Exception("Something wrong during convert!"); } return strbaser64; }
2.Base64转换图片

/// <summary> /// Base64转换图片 /// </summary> /// <param name="strbase64">base64字符串</param> /// <param name="picFomatter">图片格式</param> /// <returns></returns> public string Base64StringToImage(string strbase64, string picFomatter) { try { byte[] arr = Convert.FromBase64String(strbase64); MemoryStream ms = new MemoryStream(arr); Bitmap bmp = new Bitmap(ms); string filePath = System.AppDomain.CurrentDomain.BaseDirectory; ImageFormat format = ImageFormat.Jpeg; switch (picFomatter) { case "png": format = ImageFormat.Png; break; case "bmp": format = ImageFormat.Bmp; break; } string filename = filePath + DateTime.Now.ToFileTime().ToString() + "." + picFomatter; bmp.Save(filename, format); ms.Close(); return filename; } catch (Exception ex) { return null; } }

/// <summary> /// 判断是否Base64编码 /// </summary> /// <param name="s">编码字符串</param> /// <returns></returns> public bool IsBase64(string s) { try { Convert.FromBase64String(s); return true; } catch (FormatException) { return false; } }