您好,欢迎访问一九零五行业门户网

移动端cropper.js如何实现裁剪图片并上传(代码分析)

本篇文章给大家带来的内容是关于移动端cropper.js如何实现裁剪图片并上传(代码分析) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
引入cropper使用
<link href="/path/to/cropper.css" rel="stylesheet"><script src="/path/to/cropper.js"></script>
html结构
<li class="ui-border-bottom">    <a href="javascripts:void(0);">头像        <span class="pull-right user-header">            <img class="rounded" id="avatar" src="../images/user.jpg" alt="avatar">            <input type="file" class="sr-only" id="input" name="image" accept="image/*">        </span>    </a></li>
<!--头像截图弹窗-->
<div class="common-layer" id="modal">    <div class="layer-content">        <div class="layer-title">            <span class="cancel-btn" id="cancle">取消</span>            <h4>截图头像</h4>        </div>        <div class="layer-area">            <div class="img-container">                <img id="image" src="https://avatars0.githubusercontent.com/u/3456749">            </div>            <a class="ui-btn m-t-15" id="crop" href="javascripts:void(0);">保存</a>        </div>    </div></div>
js引用:
具体cropper.js 使用可查看官网
$(function() {    //修改头像 参加文件https://blog.csdn.net/weixin_38023551/article/details/78792400    var avatar = document.getelementbyid('avatar');    var image = document.getelementbyid('image');    var input = document.getelementbyid('input');    var $modal = $('#modal');    var cropper;    //点击图片    input.addeventlistener('change', function (e) {        var files = e.target.files;        var done = function (url) {            input.value = '';            image.src = url;            $modal.show(function() {                //初始化                cropper = new cropper(image, {                    aspectratio: 1,                    viewmode:1,                });            });        };        var reader;        var file;        var url;        if (files && files.length > 0) {            file = files[0];            if (url) {                done(url.createobjecturl(file));            } else if (filereader) {                reader = new filereader();                reader.onload = function (e) {                    done(reader.result);                };                reader.readasdataurl(file);            }        }    });    //关闭弹窗    document.getelementbyid('cancle').addeventlistener('click', function () {        $modal.hide(function() {            cropper.destroy();            cropper = null;        });    });    //保存截图    document.getelementbyid('crop').addeventlistener('click', function () {        var initialavatarurl;        var canvas;        $modal.hide(function() {            cropper.destroy();            cropper = null;        });        if (cropper) {            canvas = cropper.getcroppedcanvas({                width: 120,                height: 120,            });            initialavatarurl = avatar.src;            avatar.src = canvas.todataurl('image/jpeg');            //保存数据            canvas.toblob(function (blob) {                var formdata = new formdata();                formdata.append('avatar', blob);                $.ajax('https://jsonplaceholder.typicode.com/posts', {                    method: 'post',                    data: formdata,                    processdata: false,                    contenttype: false,                    success: function () {                        console.log('upload success');                    },                    error: function () {                        avatar.src = initialavatarurl;                        console.log('upload error');                    }                });            });        }    });})
相关推荐:
怎样实现前端裁剪上传图片功能
javascript - 如何在手机端实现裁剪图片+上传功能
以上就是移动端cropper.js如何实现裁剪图片并上传(代码分析)的详细内容。
其它类似信息

推荐信息