Files
RuoYi/ruoyi-admin/src/main/resources/templates/system/user/profile/avatar.html

85 lines
3.2 KiB
HTML
Raw Normal View History

2018-07-09 08:44:52 +08:00
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
2019-03-31 12:56:04 +08:00
<head>
<th:block th:include="include :: header('修改用户头像')" />
<th:block th:include="include :: cropbox-css" />
</head>
2018-07-09 08:44:52 +08:00
<body class="white-bg">
<div class="container">
<div class="imageBox">
<div class="thumbBox"></div>
<div class="spinner" style="display: none">Loading...</div>
</div>
<div class="action">
<div class="new-contentarea tc">
<a href="javascript:void(0)" class="upload-img"> <label for="avatar">上传图像</label> </a>
<input type="file" class="" name="avatar" id="avatar" accept="image/*"/>
</div>
<input type="button" id="btnCrop" class="Btnsty_peyton" value="裁切" />
<input type="button" id="btnZoomIn" class="Btnsty_peyton" value="+" />
<input type="button" id="btnZoomOut" class="Btnsty_peyton" value="-" />
</div>
<div class="cropped"></div>
</div>
2019-03-31 12:56:04 +08:00
<th:block th:include="include :: footer" />
<th:block th:include="include :: cropbox-js" />
2018-07-09 08:44:52 +08:00
<script type="text/javascript">
2018-11-14 18:29:59 +08:00
var cropper;
2018-07-09 08:44:52 +08:00
$(window).load(function() {
2018-09-04 13:14:46 +08:00
var avatar = '[[${user.avatar}]]';
2018-07-09 08:44:52 +08:00
var options = {
thumbBox: '.thumbBox',
spinner: '.spinner',
imgSrc: $.common.isEmpty(avatar) ? ctx + 'img/profile.jpg' : ctx + avatar.substr(1)
2018-07-09 08:44:52 +08:00
}
2018-11-14 18:29:59 +08:00
cropper = $('.imageBox').cropbox(options);
$('#avatar').on('change', function() {
2018-07-09 08:44:52 +08:00
var reader = new FileReader();
reader.onload = function(e) {
options.imgSrc = e.target.result;
//根据MIME判断上传的文件是不是图片类型
if((options.imgSrc).indexOf("image/")==-1){
2019-03-31 12:56:04 +08:00
$.modal.alertWarning("文件格式错误,请上传图片类型,如JPGPNG后缀的文件。");
2018-07-09 08:44:52 +08:00
} else {
cropper = $('.imageBox').cropbox(options);
}
}
reader.readAsDataURL(this.files[0]);
})
2018-11-14 18:29:59 +08:00
2018-07-09 08:44:52 +08:00
$('#btnCrop').on('click', function(){
var img = cropper.getDataURL();
$('.cropped').html('');
$('.cropped').append('<img src="'+img+'" align="absmiddle" style="width:64px;margin-top:4px;border-radius:64px;box-shadow:0px 0px 12px #7E7E7E;" ><p>64px*64px</p>');
$('.cropped').append('<img src="'+img+'" align="absmiddle" style="width:128px;margin-top:4px;border-radius:128px;box-shadow:0px 0px 12px #7E7E7E;"><p>128px*128px</p>');
$('.cropped').append('<img src="'+img+'" align="absmiddle" style="width:180px;margin-top:4px;border-radius:180px;box-shadow:0px 0px 12px #7E7E7E;"><p>180px*180px</p>');
})
2018-11-14 18:29:59 +08:00
2018-07-09 08:44:52 +08:00
$('#btnZoomIn').on('click', function(){
cropper.zoomIn();
})
2018-11-14 18:29:59 +08:00
2018-07-09 08:44:52 +08:00
$('#btnZoomOut').on('click', function(){
cropper.zoomOut();
})
});
2018-11-14 18:29:59 +08:00
function submitHandler() {
var img = cropper.getBlob();
var formdata = new FormData();
formdata.append("avatarfile", img);
$.ajax({
url: ctx + "system/user/profile/updateAvatar",
data: formdata,
type: "post",
processData: false,
contentType: false,
success: function(result) {
$.operate.saveSuccess(result);
}
})
}
2018-07-09 08:44:52 +08:00
</script>
</body>
</html>