前端获取到的Base64字符串格式图片一般都是经过处理的图片,例如:裁剪过后的,这里假设data为获取到的Base64字符串格式图片
Base64格式图片的格式为 “data:image/png;base64,****”逗号之前都是一些说明性的文字,我们只需要逗号之后的就行了
js代码
function uploadFile(data) {
data = data.split(',')[1]
$.ajax({
url: '链接地址',
type: 'POST',
data: { 'Data': data },
dataType: 'JSON',
success: function (data, textStatus) {
if (data.Success) {
//自己的处理逻辑
}
else {
console,log("失败");
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log(errorThrown);
}
})
}
后端Action代码
public JsonResult UploadImage()
{
try
{
string base64string = Request["Data"];
byte[] bt = Convert.FromBase64String(base64string);
MemoryStream stream = new MemoryStream(bt);
Bitmap bitmap = new Bitmap(stream);
string tempName = Request.PhysicalApplicationPath + @"\xxxx\" + "b64img_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".png";
bitmap.Save(tempName, ImageFormat.Png);
//其他逻辑 //返回数据
return Json(new {Success = true})
}
catch (Exception ex)
{
Log.Instance.SaveLog(ex.Message);//日志类自己定义的,可以忽略
}
return Json(new {Success = false});
}