/// <summary>
/// 根据图片得到图片的base64编码字符串
/// </summary>
/// <param name="imagefile">图片路径</param>
/// <returns>base64字符串</returns>
public string GetBase64FromImage(string imagefile)
{
string strbaser64 = "";
try
{
string path = HttpContext.Current.Server.MapPath(imagefile);//根据虚拟路劲得到路片所在的物理路径
Bitmap bmp = new Bitmap(path);
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();
strbaser64 = Convert.ToBase64String(arr);
}
catch (Exception)
{
throw new Exception("Something wrong during convert!");
}
return strbaser64;
}
/// <summary>
/// 保存图片并返回图片路径
/// </summary>
/// <param name="strImg">base64编码字符串</param>
/// <returns>图片路径</returns>
public string SaveImage(string strImg)
{
string fpath = System.Web.HttpContext.Current.Server.MapPath("picture/");//图片存储文件夹路径
string time = DateTime.Now.ToString("yyyyMMddhhmmssfff");
string picturename = time; //文件名
String ExistsPath = fpath + "IDCardImage";
if (!Directory.Exists(ExistsPath))//查看存储路径的文件是否存在
{
Directory.CreateDirectory(ExistsPath); //创建文件夹,并上传文件
}
String newFilePath = fpath + "IDCardImage" + "/" + picturename; //文件保存路径
byte[] arr = Convert.FromBase64String(strImg);
MemoryStream ms = new MemoryStream(arr);
Bitmap bmp = new Bitmap(ms);
bmp.Save(newFilePath + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg); //保存为.jpg格式
ms.Close();
return picturename + ".jpg";
}