cropper.js 实现裁剪图片并上传(移动端)

9 篇文章 0 订阅

博客地址 : http://blog.mambaxin.com

上一篇文章已经编写了PC端的裁剪图片案例,这次是涉及移动端的头像裁剪更换,类似于微信更换头像功能。。。

案例下载:https://github.com/kesixin/Head_Cut_PC

思路跟PC端的案例是一样的,这里就不多说了。

将案例放到服务器上,如果出现上传失败可能是:
1.提交处理服务url出错:main.js

$(document.body).on('click', '[data-method]', function () {
      var data = $(this).data(),
          $target,
          result;

      if (data.method) {
        data = $.extend({}, data); // Clone a new one

        if (typeof data.target !== 'undefined') {
          $target = $(data.target);

          if (typeof data.option === 'undefined') {
            try {
              data.option = JSON.parse($target.val());
            } catch (e) {
              console.log(e.message);
            }
          }
        }

        result = $image.cropper(data.method, data.option);

        if (data.method === 'getCroppedCanvas') {
//          $('#getCroppedCanvasModal').modal().find('.modal-body').html(result);
//          alert(result.toDataURL('image/jpeg'));
//          $.post('/index.php/sdasdf',result.toDataURL('image/jpeg'),function(){},'json');
            var imgBase=result.toDataURL('image/jpeg');
            if(imgBase!=""){
                var data = {imgBase: imgBase};
                //提交地址
                $.post('../mobile/upload.php', data, function (ret) {
                    if(ret=='true'){
		                alert('上传成功');
		              }else{
		                alert('上传失败');
		              }
                }, 'text');
            }
        }
        
        if ($.isPlainObject(result) && $target) {
          try {
            $target.val(JSON.stringify(result));
          } catch (e) {
            console.log(e.message);
          }
        }

      }
    }).on('keydown', function (e) {

      switch (e.which) {
        case 37:
          e.preventDefault();
          $image.cropper('move', -1, 0);
          break;

        case 38:
          e.preventDefault();
          $image.cropper('move', 0, -1);
          break;

        case 39:
          e.preventDefault();
          $image.cropper('move', 1, 0);
          break;

        case 40:
          e.preventDefault();
          $image.cropper('move', 0, 1);
          break;
      }

    });

实现效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值