zoukankan      html  css  js  c++  java
  • 编辑头像功能

    html:

    <div class="modal fade" id="userImgModal" role="dialog" aria-labelledby="gridSystemModalLabel">
    		<div class="modal-dialog" role="document">
    			<div class="modal-content">
    				<div class="modal-header">
    					<button type="button" class="close" data-dismiss="modal"
    						aria-label="Close">
    						<span aria-hidden="true">×</span>
    					</button>
    					<h4 class="modal-title" id="gridSystemModalLabel">编辑头像</h4>
    				</div>
    				<div class="modal-body">
    					<div class="container">
    						<div class="imageBox pull-left">
    							<div class="thumbBox"></div>
    							<div class="spinner" style="display: none">Loading...</div>
    						</div>
    						<div class="cropped pull-left"></div>
    					</div>
    				</div>
    				<div class="modal-footer">
    					<input type="file" id="upload-file" class="file">
    					<button type="button" id="btnZoomOut" class="btn btn-primary">-</button>
    					<button type="button" id="btnZoomIn" class="btn btn-primary">+</button>
    					<button type="button" id="btnCrop" class="btn btn-primary">剪切</button>
    					<button type="button" id="btnImgSubmit" class="btn btn-primary" disabled="disabled" onclick="updateUserPhoto()">保存</button>
    					<button type="button" id="close" class="btn btn-default" data-dismiss="modal">关闭</button>
    				</div>
    			</div>
    			<!-- /.modal-content -->
    		</div>
    		<!-- /.modal-dialog -->
    	</div>
    

    js:

    <script type="text/javascript" src="../asset/js/cropbox.js"></script>
    	<script type="text/javascript">
    	$(function() {
    		var options = {
    			thumbBox : '.thumbBox',
    			spinner : '.spinner',
    			imgSrc : '${BASE}/asset/images/avatar.png'
    		};
    		var cropper = $('.imageBox').cropbox(options);
    		$('#upload-file').on('change', function() {
    			var reader = new FileReader();
    			reader.onload = function(e) {
    				options.imgSrc = e.target.result;
    				cropper = $('.imageBox').cropbox(options);
    			}
    			reader.readAsDataURL(this.files[0]);
    			this.files = [];
    		});
    		$('#btnCrop').on('click', function() {
    			var img = cropper.getDataURL();
    			$('.cropped').html('<img src="'+img+'" id="retImg">');
    			$("#btnImgSubmit").removeAttr("disabled");
    		});
    		$('#btnZoomIn').on('click', function() {
    			cropper.zoomIn();
    		});
    		$('#btnZoomOut').on('click', function() {
    			cropper.zoomOut();
    		});
    		// 输入数据到输入框启动保存按钮
    		$("input").keydown(function(e, previous) {
    			$("#save").removeAttr("disabled");
    		});
    		$("#save").click(function() {
    			$.post("${BASE}/iotcarveout/saveUser", {
    				'userId': $("#userId").val(),
    				'realName': $("#realName").val(),
    				'mailBox': $("#mailBox").val()
    			}, function(data) {
    				if (data == 'success') {
    					alert("保存成功");
    				} else {
    					alert("保存失败");
    				}
    			});
    		});
    	});
    	function updateUserPhoto(){
    		var name = $("#upload-file").val();
    		var names = name.split("\");
    		name = names[names.length-1];
    		var imgbytes = $("#retImg").attr("src");
    		
    		var userId = $("#userId").val();
    		$.post(getContextPath()+"/iotcarveout/modifyuserphoto", {
    			'name': name,
    			'imgbytes': imgbytes,
    			'userId': userId
    		}, function(data){
    			if (data != "") {
    				$("#imgfacecheck").attr("src", data);
    				// $("#facephotoaddr").val(data);
    				
    				$('.cropped').html("");
    				$("#btnImgSubmit").attr("disabled", "disabled");
    				$('#userImgModal').modal("hide");
    			}
    		});
    	}
    	</script>
    

    java:

    @Action("post:/iotcarveout/modifyuserphoto")
    	public Data matchModifyUserPhoto(Param param) throws Exception{
    		long userId = param.getLong("userId");
    		String name = param.getString("name");
    		String bytes = param.getString("imgbytes");
    		if(name == ""){
    			name = "default"+Math.random()+".jpg";
    		}else{
    			name = Math.random() + name;
    		}
    		int index = bytes.indexOf("base64");
    		String imgbytes= bytes.substring(index + 7);
    		//BASE64Decoder decoder = new sun.misc.BASE64Decoder(); 
    		//byte[] bytes1 = decoder.decodeBuffer(imgbytes);
                    byte[] bytes1 = org.apache.shiro.codec.Base64.decode(imgbytes);  
    		for (int i = 0; i < bytes1.length; ++i) {
    			if (bytes1[i] < 0) {// 调整异常数据
    				bytes1[i] += 256;
    			}
    		}
    		String fileName = ConfigHelper.getAppAssetPath() + ConfigHelper.getString(InnovateConstant.innovateRoot) 
    				+ "users/" +userId + "/" + name;
    		ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);
    		boolean isSuc = userService.updateUserPhoto(userId,name, bais, fileName);
    		if(isSuc) {
    			return new Data(fileName);
    		} else {
    			return new Data("");
    		}
    	}
    

     测试方法:

  • 相关阅读:
    用python抓取百度指数 以及 用cxfreeze打包的经验
    selenium中send_keys的使用
    python之文件调用
    学习python之selenium
    学习python图像识别
    解决方案: 运行ugarchroll,报错Error in try(.C("c_qstd", p = as.double(p), mu = as.double(mu), sigma = as.double(sigma), : NA/NaN/Inf in foreign function call (arg 3)
    int 转 const char*
    均值,方差,协方差,协方差矩阵,特征值,特征向量
    OpenCv 图片上添加汉字
    OpenCV获取与设置像素点的值的几个方法
  • 原文地址:https://www.cnblogs.com/guxingzhe/p/5386816.html
Copyright © 2011-2022 走看看