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

Cropper  

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

案例下载

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

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

  1. $(document.body).on('click', '[data-method]', function () {
  2. var data = $(this).data(),
  3. $target,
  4. result;
  5. if (data.method) {
  6. data = $.extend({}, data); // Clone a new one
  7. if (typeof data.target !== 'undefined') {
  8. $target = $(data.target);
  9. if (typeof data.option === 'undefined') {
  10. try {
  11. data.option = JSON.parse($target.val());
  12. } catch (e) {
  13. console.log(e.message);
  14. }
  15. }
  16. }
  17. result = $image.cropper(data.method, data.option);
  18. if (data.method === 'getCroppedCanvas') {
  19. // $('#getCroppedCanvasModal').modal().find('.modal-body').html(result);
  20. // alert(result.toDataURL('image/jpeg'));
  21. // $.post('/index.php/sdasdf',result.toDataURL('image/jpeg'),function(){},'json');
  22. var imgBase=result.toDataURL('image/jpeg');
  23. if(imgBase!=""){
  24. var data = {imgBase: imgBase};
  25. //提交地址
  26. $.post('../mobile/upload.php', data, function (ret) {
  27. if(ret=='true'){
  28. alert('上传成功');
  29. }else{
  30. alert('上传失败');
  31. }
  32. }, 'text');
  33. }
  34. }
  35. if ($.isPlainObject(result) && $target) {
  36. try {
  37. $target.val(JSON.stringify(result));
  38. } catch (e) {
  39. console.log(e.message);
  40. }
  41. }
  42. }
  43. }).on('keydown', function (e) {
  44. switch (e.which) {
  45. case 37:
  46. e.preventDefault();
  47. $image.cropper('move', -1, 0);
  48. break;
  49. case 38:
  50. e.preventDefault();
  51. $image.cropper('move', 0, -1);
  52. break;
  53. case 39:
  54. e.preventDefault();
  55. $image.cropper('move', 1, 0);
  56. break;
  57. case 40:
  58. e.preventDefault();
  59. $image.cropper('move', 0, 1);
  60. break;
  61. }
  62. });

实现效果:



评论 0

发表评论

Top