开发工具与关键技术:jQuery,MVC
作者:刘俊杰
撰写时间:2019年03月26日
具体操作流程图:
把图片转换成bese64编码保存到数据库,我们要先从页面那边获取到图片,获取到图片后匹配出图片的base64编码定义为index。
下面是具体的操作过程:
public ActionResult Image(PW_Advertisement pwAdvertisement, string strImage)
{
int index = strImage.IndexOf("base64,"); //匹配出base64
index = index + 7;//从开始+7位数值
string str = strImage.Substring(index);//从开始到定义的指定位置
str = str.Trim().Replace("%", "").Replace(",", "").Replace(" ","+");
//匹配出指定字符然后替换为空,空格替换为+号; Trim()去空格
if(str.Length % 4 > 0)//判断是否为标准的base64编码
{//%求余数
str = str.PadRight(str.Length + 4 - str.Length % 4, '=');
//如果不是的话先加4然后再减去长度除以4的余数,然后多余的替换为=号;
}
byte[] img = Convert.FromBase64String(str);
//声明字节型数组[二进制]数组来保存新增图片
//FileStream f = new FileStream("D:\\1.jpg", FileMode.Create);
//设置保存文件路径
//f.Write(img, 0, img.Length);//将图片写入到保存的路径里面
//f.Close();//关闭当前流
pwAdvertisement.Image = img;
//保存到数据库
myModel.PW_Advertisement.Add(pwAdvertisement);
myModel.SaveChanges();
return Json(true, JsonRequestBehavior.AllowGet);
}