最简单的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