C# 图片与Base64码的相互转化问题(代码详解)
public ActionResult UploadSignature2(string src_data)
{
Class1.Base64StrToImage(src_data, "C:Users45448Desktop1"+ DateTime.Now.ToString("yyyyMMddHHss") + ".png");
return Json(1, JsonRequestBehavior.AllowGet);
}
///
/// 将Base64字符串转换为图片并保存到本地
///
/// base64字符串
/// 图片保存地址,如:/Content/Images/10000.png
///
public static bool Base64StrToImage(string base64Str, string savePath)
{
var ret = true;
try
{
base64Str = base64Str.Replace("data:image/png;base64,", "").Replace("data:image/jgp;base64,", "")
.Replace("data:image/jpg;base64,", "").Replace("data:image/jpeg;base64,", ""); //将base64头部信息替换
var bitmap = Base64StrToImage(base64Str);
if (bitmap != null)
{
//创建文件夹
var folderPath = savePath.Substring(0, savePath.LastIndexOf(''));
////FileHelper.CreateDir(folderPath);
if (!Directory.Exists(folderPath))
{
Directory.CreateDirectory(folderPath);
}
//图片后缀格式
var suffix = savePath.Substring(savePath.LastIndexOf('.') + 1,
savePath.Length - savePath.LastIndexOf('.') - 1).ToLower();
var suffixName = suffix == "png"
? ImageFormat.Png
: suffix == "jpg" || suffix == "jpeg"
? ImageFormat.Jpeg
: suffix == "bmp"
? ImageFormat.Bmp
: suffix == "gif"
? ImageFormat.Gif
: ImageFormat.Jpeg;
//这里复制一份对图像进行保存,否则会出现“GDI+ 中发生一般性错误”的错误提示
var bmpNew = new Bitmap(bitmap);
bmpNew.Save(savePath, suffixName);
bmpNew.Dispose();
bitmap.Dispose();
}
else
{
ret = false;
}
}
catch (Exception ex)
{
ret = false;
}
return ret;
}
- .NET Core系列之MemoryCache 初识
- 007手机一键Root(安机网一键Root) v3.0 官方最新版 一键ROOT您的Android手机
- 12306密码被盗了怎么办?12306密码外泄解决方法
- 12个字的qq网名
- 150M迷你型无线路由器怎么设置?
- 192.168.1.1打不开怎么办?路由器192.168.1.1打不开的原因以及解决办法
- 2011年电子报合订本 电子报 编辑部 中文 PDF版 [84M]
- 2015年1月15日小米新旗舰发布会现场图文直播
- 2016.3.1vivo Xplay5新品发布会现场视频直播 优酷直播
- 2016华为P9发布会视频直播地址 4月15日华为P9国行发布会直播