首页C# 正文

C# 本地图片转Base64码和Base64码显示

时间: 2019年4月3日 浏览 28046

最简单的Base64转法

  /// <summary>
  /// 视频截图完成事件回调
  /// </summary>
  /// <param name="id"></param>
  /// <param name="fileLocation"></param>
  public void ControlScreenshotCompletedEventCallback(int id, string fileLocation)
  {
  var base64=Convert.ToBase64String(System.IO.File.ReadAllBytes(fileLocation));
  Console.WriteLine("base64:"+ base64);
  OnScreenshotCompletedEvent?.Invoke(id, base64);
  }

就一行代码就搞定了。

通过内存加载方式来转

  /// <summary>
  /// 文件转Base64码
  /// </summary>
  /// <param name="fileLocation"></param>
  /// <returns></returns>
  public string ImgToBase64String(string fileLocation)
  {
  MemoryStream ms = new MemoryStream();
  try
  {
  Bitmap bmp = new Bitmap(fileLocation);
  bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
  byte[] arr = new byte[ms.Length];
  ms.Position = 0;
  ms.Read(arr, 0, (int)ms.Length);
  return Convert.ToBase64String(arr);
  }
  catch (Exception ex)
  {
  Log.WriteLog4Ex("图片转base64", ex);
  return "";
  }
  finally
  {
  ms.Close();
  }
  }

#region 图片转为base64编码的字符串
       public string ImgToBase64String(string Imagefilename)
       {
           try
           {
               Bitmap bmp = new Bitmap(Imagefilename);

MemoryStream ms = new MemoryStream();
               bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
               byte[] arr = new byte[ms.Length];
               ms.Position = 0;
               ms.Read(arr, 0, (int)ms.Length);
               ms.Close();
               return Convert.ToBase64String(arr);
           }
           catch (Exception ex)
           {
               return null;
           }
       }
       #endregion

#region base64编码的字符串转为图片
       public void Base64StringToImage(string strbase64)
       {
         
           try
           {
               byte[] arr = Convert.FromBase64String(strbase64);
               MemoryStream ms = new MemoryStream(arr);
               System.Drawing.Image img = System.Drawing.Image.FromStream(ms);


               string ls_path = Server.MapPath(@"images\camera\" + ls_imageNameCamera + ".jpg");

img.Save(ls_path, System.Drawing.Imaging.ImageFormat.Jpeg);

//System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
               //img.Save("ImgName.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
               //img.Save("ImgName.bmp", ImageFormat.Bmp);
               //img.Save("ImgName.gif", ImageFormat.Gif);
               //img.Save(@"images\ImgName.png", ImageFormat.Png);

Session["ImageNameCamera"] = ls_imageNameCamera;
           }
           catch (Exception ex)
           {

}
       }
       #endregion