ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:328.35KB ,
资源ID:12743328      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12743328.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(个人中心修改头像总结.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

个人中心修改头像总结.docx

1、个人中心修改头像总结个人中心修改头像总结1,背景 博客停了好久,主要是最近工作太忙了,还有就是身体状况没有以前那么好了,乘着国庆长假的空档,写下这篇一直想写的文章。 运营平台是我主要致力的一个项目,这个项目分为四个大部分,个人中心,充值中心,客服中心,家长监护,最近主要忙着个人中心的重写和丰富,关于个人中心,无非就是对平台用户信息的自我管理,以及一些对用户帐号的安全保护措施,下图的菜单非常简要的说明了个人中心的功能。个人觉得最值得关注的就是密保设置和修改头像,因为之前没有处理过类似的问题,本文主要记录对头像的处理过程以及思考,希望给碰到类似问题的苦逼程序员一点借鉴。 个人中心整体功能一览2,头

2、像处理xmind 叽歪一句,个人碰到问题的时候,首先会分析问题,在分析问题的基础上,得到整体的解决方案,然后一步步分解步骤,去实现,首先奉上我的解决方案,也许不是最优的,但是按照个人的知识和技能水平,绝对是可以实现的。 修改头像mind3,实现步骤 按照我的mind,首先是上传图片,先上效果图,然后给出实现的代码。首先是整体的结构图,做的比较丑,别喷哥修改头像整体效果图 下面按照mind一步步实现, 首先:点击修改头像,弹出一个层,第一步:弹出上传图片的层,上传图片到服务器 对实现细节不感冒的屌丝可以看看代码(结合哥的mind看可以事半功倍):分层 实现细节Html结构层 这个可以免了,一般都

3、可以弄出来Js连接层首先是弹出一个上传图片的层,然后上传图片到服务器端。 $(#editHead).bind(click, function () showUploadDiv(); ); function showUploadDiv() $(#uploadMsg).empty(); $.fancybox( type:inline, width:400, href:#uploadUserHead ); /fancybox弹出层 上传的处理代码Servlet服务端处理层(commonupload实现) 服务器端处理代码上传的处理代码$(function () $(#uploadFrom).ajax

4、Form( beforeSubmit:checkImg, error:function(data,status) alert(status+ , +data); $(#uploadMsg).html(上传文件超过1M!); , success:function (data,status) try var msg = $.parseJSON(data); if (msg.code = 200) /如果成功提交 javascript:$.fancybox.close(); $(#uploadUserHead).hide(); var data = msg.object; $(#editImg).a

5、ttr(src, data.path).show(); $(#preview1).attr(src, data.path).show(); $(.zoom).show(); $(#width).val(data.width); $(#height).val(data.height); $(#oldImgPath).val(data.realPath); $(#imgFileExt).val(data.fileExt); var api, jcrop_api, boundx, boundy; $(#editImg).Jcrop( onChange:updatePreview, onSelect:

6、updatePreview, aspectRatio:1, bgOpacity:0.5, bgColor:white, addClass:jcrop-light , function () api = this; api.setSelect(130, 65, 130 + 350, 65 + 285); api.setOptions( bgFade:true ); api.ui.selection.addClass(jcrop-selection); var bounds = this.getBounds(); boundx = bounds0; boundy = bounds1; jcrop_

7、api = this; ); function updatePreview(c) if (parseInt(c.w) 0) var rx = 80 / c.w; var ry = 80 / c.h; $(#preview1).css( width:Math.round(rx * boundx) + px, height:Math.round(ry * boundy) + px, marginLeft:- + Math.round(rx * c.x) + px, marginTop:- + Math.round(ry * c.y) + px ); jQuery(#x).val(c.x); jQu

8、ery(#y).val(c.y); jQuery(#x2).val(c.x2); jQuery(#y2).val(c.y2); jQuery(#w).val(c.w); jQuery(#h).val(c.h); if (msg.code = 204) $(#uploadMsg).html(msg.msg); catch (e) $(#uploadMsg).html(上传文件超过1M!); ); );/服务器端处理代码String tempSavePath = ConfigurationUtils.get(user.resource.dir); /上传的图片零时保存路径 String tempS

9、howPath = ConfigurationUtils.get(user.resource.url); /用户保存的头像路径 if(tempSavePath.equals(/img) tempSavePath=sc.getRealPath(/)+tempSavePath; Msg msg = new Msg(); msg.setCode(204); msg.setMsg(上传头像失败!); String type = request.getParameter(type); if (!Strings.isNullOrEmpty(type) & type.equals(first) reques

10、t.setCharacterEncoding(utf-8); DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload servletFileUpload = new ServletFileUpload(factory); try List items = servletFileUpload.parseRequest(request); Iterator iterator = items.iterator(); while (iterator.hasNext() FileItem item = (Fil

11、eItem) iterator.next(); if (!item.isFormField() File tempFile = new File(item.getName(); File saveTemp = new File(tempSavePath+/tempImg/); String getItemName=tempFile.getName(); String fileName = UUID.randomUUID()+. +getItemName.substring(getItemName.lastIndexOf(.) + 1, getItemName.length(); File sa

12、veDir = new File(tempSavePath+/tempImg/, fileName); /如果目录不存在,创建。 if (saveTemp.exists() = false) if (!saveTemp.mkdir() / 创建失败 saveTemp.getParentFile().mkdir(); saveTemp.mkdir(); else if (saveDir.exists() log.info(存在同名文件); saveDir.delete(); item.write(saveDir); log.info(上传头像成功!+saveDir.getName(); msg.

13、setCode(200); msg.setMsg(上传头像成功!); Image image = new Image(); BufferedImage bufferedImage = null; try bufferedImage = ImageIO.read(saveDir); catch (IOException e) e.printStackTrace(); image.setHeight(bufferedImage.getHeight(); image.setWidth(bufferedImage.getWidth(); image.setPath(tempShowPath+ /tem

14、pImg/ + fileName); log.info(image.getPath(); image.setRealPath(tempSavePath+/tempImg/+ fileName); image.setFileExt(fileName.substring(fileName.lastIndexOf(.) + 1, fileName.length(); msg.setObject(image); else log.info( + item.getFieldName(); catch (Exception ex) log.error(上传用户头像图片异常!); ex.printStack

15、Trace(); finally AppHelper.returnJsonAjaxForm(response, msg); 上传成功后,可以看到照片和照片的预览效果。看图:上传头像之后的效果Friday, October 05, 2012第二步:编辑和保存头像选中图中的区域,保存头像,就完成头像的修改。修改之后的效果入下:修改之后的头像(因为传了一张动态图片,得到的跟上图有些不同)实现细节:首先用了一个js控件:Jcrop,有兴趣的屌丝可以去搜一下,然后,利用上传之后的图片和之前的选定区域,完成了一个截图,保存为用户的头像。连接层的js:$(#saveHead).bind(click, fun

16、ction () var width = $(#width).val(); var height = $(#height).val(); var oldImgPath = $(#oldImgPath).val(); var imgFileExt = $(#imgFileExt).val(); var x = $(#x).val(); var y = $(#y).val(); var w = $(#w).val(); var h = $(#h).val(); $.ajax( url:/imgCrop, type:post, data:x:x, y:y, w:w, h:h, width:width

17、, height:height, oldImgPath:oldImgPath, fileExt:imgFileExt, datatype:json, success:function (msg) if (msg.code = 200) $(#avatar).attr(src, msg.object); forword(/nav, index); else alert(msg.msg); ); ); function checkImg() /限制上传文件的大小和后缀名 var filePath = $(inputname=uploadImg).val(); if (!filePath) $(#u

18、ploadMsg).html(请选择上传文件!).show(); return false; else var extStart = filePath.lastIndexOf(.); var ext = filePath.substring(extStart, filePath.length).toUpperCase(); if (ext != .PNG & ext != .GIF & ext != .JPG) $(#uploadMsg).html(图片限于png,gif,jpg格式!).show(); return false; return true; 服务器端处理代码: String s

19、avePath = ConfigurationUtils.get(user.resource.dir); /上传的图片保存路径 String showPath = ConfigurationUtils.get(user.resource.url); /显示图片的路径 if(savePath.equals(/img) savePath=sc.getRealPath(/)+savePath; int userId = AppHelper.getUserId(request); String userName=AppHelper.getUserName(request); Msg msg = new Msg(); msg.setCode(204); msg.setMsg(剪切图片失败!); if (userId =

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1