1. 程式人生 > >cropper.js 實現裁剪圖片並上傳(移動端)

cropper.js 實現裁剪圖片並上傳(移動端)

上一篇文章已經編寫了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;
      }

    });

實現效果: