//64位字符源码串
//存储路径
//用户id
protected string SaveBase64Image(string source, string path, int userID)
{try
{
var now = DateTime.Now;
string filePath = path + now.ToString("yyyy-MM-dd") + "/" + userID.ToString() + "/";
string fileName = now.ToString("yyyyMMddhhmmssffff") + ".jpg";
// Log.Debug("filePath:" + filePath + fileName);
string strbase64 = source.Substring(source.IndexOf(',') + 1);
strbase64 = strbase64.Trim('\0');
//Log.Debug("strbase64:" + strbase64);
byte[] arr = Convert.FromBase64String(strbase64);
using (MemoryStream ms = new MemoryStream(arr))
{
//Log.Debug("进入了MemoryStream");
Bitmap bmp = new Bitmap(ms);
if (!Directory.Exists(Server.MapPath(filePath)))
{
//Log.Debug("没有Directory");
Directory.CreateDirectory(Server.MapPath(filePath));
}
//if (!Directory.Exists(filePath))
// Log.Debug("没有Directory");
//Directory.CreateDirectory(filePath);
//新建第二个bitmap类型的bmp2变量。
Bitmap bmp2 = new Bitmap(bmp, bmp.Width, bmp.Height);
//将第一个bmp拷贝到bmp2中
Graphics draw = Graphics.FromImage(bmp2);
draw.DrawImage(bmp, 0, 0);
draw.Dispose();
//Log.Debug("保存图片前");
bmp2.Save(Server.MapPath(filePath + fileName), System.Drawing.Imaging.ImageFormat.Jpeg);
//Log.Debug("保存图片后");
//bmp.Save("test.bmp", ImageFormat.Bmp);
//bmp.Save("test.gif", ImageFormat.Gif);
//bmp.Save("test.png", ImageFormat.Png);
ms.Close();
return filePath + fileName;
}
}
catch (Exception ex)
{
return null;
}
}