完善上传图片用canvas压缩

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script type="text/javascript" src="jquery-2.1.4.min.js"></script>
</head>
<body>
<div class="headImg clearfix">
<div class="picturesBox">
<div class="pictures">
  <input type="file" id="J_file"  accept="image/*">
 <img src="" alt="">
   </div>
</div>
</div>
<script type="text/javascript">
var higoodthingsdata = {
updateimg: {}
}
var J_file = document.getElementById('J_file');//上传文件的input;
var J_look = document.getElementById('J_look');//显示图片;
J_file.οnchange=function(){
var imgFile = this.files[0];
var img = new Image();
var fr = new FileReader();
fr.readAsDataURL(imgFile);
fr.οnlοad=function(){
img.src = this.result;
img.onload = function() {
               var data = higoodthingsdata.updateimg;
               data.img = img;
               var base64 = imageData(data);
               //下面两行任选一行
               $('.pictures img').attr('src',base64);//展示压缩后的图片
              // $('.showimg img').attr('src',img.src);//展示没有压缩的原图
              updateimgs(base64)
}
};
};
function updateimgs(aaa) {
$.ajax({
type: 'POST',
url: '${pageContext.request.contextPath}/issue/updatehead',
data: {
'image': aaa
},
success: function(data) {
console.log(data);
}
})
}
/*使用canvas压缩图片并且返回压缩后的base64编码值*/
function imageData(obj) {  
   var canvas = document.createElement('canvas');
   var w = 70;
       var h = 70;
   canvas.width = w;
   canvas.height = h;
   var ctx = canvas.getContext('2d');  
   ctx.drawImage(obj.img, 0, 0, obj.img.width, obj.img.height, 0, 0,w,h);//画出图像  
   return canvas.toDataURL("image/jpg");//返回base64编码  
};  
    </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值