前端上传图片数据
//上传图片的处理方法UpdateHeadSculpture() {let self = this;let file = $("#FileImg")[0].files[0];let form = new FormData();form.append("img", file);form.append('context', 'example_context');$.ajax({url: '/UserInfoMation/UpdateHeadSculpture', // 上传文件的服务器端脚本type: 'POST',data: form,processData: false,contentType: false,success: function (res) {//上传成功的回调if (res == "OK") {self.loadData();}else {alert(res);}}, error: function () {// 未访问到服务器alert('Request failed: 访问服务器失败!请稍后访问');}});},
c#后端处理前端传输过来的数据保存至服务器中
//1.0得到上传过来的文件HttpFileCollectionBase fils = Request.Files;//得到上传过来的文件if (fils.Count > 0){//文件字节长度if (fils[0].ContentLength > 0){//2.0上传图片或要将图片的名称做一个修改(不能重复)string oldName = fils[0].FileName;//得到当前文件名称后缀string exName = Path.GetFileName(oldName);//生成一个永不重复的名称string newName = Guid.NewGuid() + exName;//获取用户IDint Id = (Session["UserInfo"] as UserInfo).Id;using (System.Drawing.Image img = System.Drawing.Image.FromStream(fils[0].InputStream)){img.Save(Server.MapPath("/img/") + newName);//将数据库中数据对应对象的图片名称改为当前图片名称//1.1根据id得到上传图片对象的数据(将修改后的图片数据传输至数据库)if (userInfoBLL.UpdateHeadSculpture(Id, "/img/" + newName)){//修改session中存储的用户信息Session["UserInfo"] = userInfoBLL.SelectId(Id);//上传成功return Content("OK");}else{//上传失败return Content("ON");}}}else{//上传失败return Content("ON");}}else{//未选择数据return Content("未选择数据");}