1、base64的格式為:
data:image/jpeg;base64,sandkansncquiueui3jk
2、ajax傳輸會把+轉為空格
3、后台處理的代碼:
string imgPath = Server.MapPath("~/Img/"); string newFileName = string.Format("{0:yyyy-MM-dd-hh-mm-ss-ffff}.jpeg", DateTime.Now); //base64的格式為 data:image/jpeg;base64,sandkansncquiueui3jk string[] imgStr = ImageBase64.Split(','); //ajax在傳輸過程中會將+變為空格 byte[] imageBytes = Convert.FromBase64String(imgStr[1].Replace(" ", "+")); //將base64轉為圖片 using (MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length)) { if (!Directory.Exists(imgPath)) { Directory.CreateDirectory(imgPath); } //1方式 System.Drawing.Bitmap bpmTemp = new System.Drawing.Bitmap(ms); bpmTemp.Save(Path.Combine(imgPath, newFileName)); //2方式 //Image image = Image.FromStream(ms); //image.Save(Path.Combine(imgPath, newFileName)); }
參考:https://www.cnblogs.com/dh-hui/p/5387622.html