MVC 手机端页面 使用标签file 图片上传到后台处…
2018-06-22 06:02:36来源:未知 阅读 ()
最近刚做了一个头像上传的功能,使用的是H5 的界面,为了这个功能搞了半天的时间,找了各种插件,有很多自己都不知道怎么使用,后来只是使用了一个标签就搞定了;如果对样式没有太大的要求我感觉使用这个就足够了;下面来说一下实现的思路和方法。
这个是我最初想做的一个样式;由于时间和精力的原因放弃了,做了一个下面的样式
哈哈 这是原始的样式没有做过任何的修改,不过看着还行,因为这个标签是调用的手机系统自己的插件和样式
下面就一步一步的写一下实现方式:
第一步HTML 标签的
<label class="section_label">头像</label> <span class="section_right"> <img src="~/Content/images/icon_head.png" alt="1" height="60px" /> @using (Html.BeginForm("uploadHead", "MemberInfo", FormMethod.Post, new { ID = "user_head_form", enctype = "multipart/form-data" })) { <input type="file" name="head" accept="image/*" class="filebtn" id="headUpdate" style="display:none;" /> } </span>
<input type="file" name="head" accept="image/*" class="filebtn" id="headUpdate" style="display:none;" /> 这个就是图片上传的标签;
实现思路:点击 img 标签的时候 触发 input file 标签 弹出选择图片框,选择完图片后实现图片上传步骤;
第二步: 点击 imag 触发 input JS 代码 在写js 代码之前需要引用一个jquery-form.js文件,实现submit 提交之后接受返回的JSON数据
//上传图片 $("#headImage").click(function(){ upload(); }); function upload(){ $("#headUpdate").click(); $("#headUpdate").unbind().change(function(){ //$("#user_head_form").submit(); $("#user_head_form").ajaxSubmit({ url:'@Url.Action("uploadHead")', type:"post", dataType:"json", success:function(json){ if (json.Success) { $("#headImageURL ").attr("src",json.Path); }else{ alert(json.Msg); } } }); }) }
第三步:后台的处理 将图片上传到后台,后台可以图片上传的服务器,或者保存到本地都可以操作;我是直接将图片转为byte 类型的 直接传到接口服务器上了
[HttpPost] public ActionResult uploadHead() { try { MemberBLL mb = new MemberBLL(); MoPhoto mp = new MoPhoto(); HttpPostedFile file = System.Web.HttpContext.Current.Request.Files[0]; if ((file == null)) { return Json(new { Success = false, Msg = "上传图片失败", Path = "" }); } else { System.Drawing.Image image = System.Drawing.Image.FromStream(file.InputStream); MemoryStream ms = new MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); byte[] byteData = new byte[ms.Length]; ms.Position = 0; ms.Read(byteData, 0, byteData.Length); ms.Close(); image.Dispose(); //修改头像 mp = mb._UpdateHeadPortrait(new MoHeadPortraitRequest() { JSJID = this.LoginModel.JSJID, HeadPorTraitByte = byteData }); return Json(new { Success = mp.BaseResponse.IsSuccess, Msg = mp.BaseResponse.ErrorMessage, Path = mp.PhotoPath }); } } catch (Exception) { return Json(new { Success = false, Msg = "上传图片失败", Path = "" }); } }
ok,这样就可以轻松的实现了 手机端头像的上传功能了;第一张的图片的实现效果,希望哪位大神们有实例或者资料给我提供一下,相互学习嘛。谢谢
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Asp.net MVC SignalR来做实时Web聊天实例代码 2020-03-29
- ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据 2020-03-29
- ASP.NET MVC Admin主页快速构建 2020-03-23
- Asp.Net MVC4通过id更新表单内容的思路详解 2020-03-19
- Asp.NET页面中事件加载的先后顺序详解 2020-03-19
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash