cropper.js 實現裁剪圖片並上傳(移動端)
阿新 • • 發佈:2019-02-16
上一篇文章已經編寫了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; } });
實現效果: