Jquery plugin Croppie to crop image Error

后端 未结 1 371
别那么骄傲
别那么骄傲 2020-12-24 02:51

I want to use Jquery Croppie Plugin on my site to crop image for my user but I\'ve got this problem the code that i write not show as an example in Croppie Site

Here

相关标签:
1条回答
  • 2020-12-24 03:08

    Try it, it works for me. I used PHP to save the image.

    <?php
        if(isset($_POST['imagebase64'])){
            $data = $_POST['imagebase64'];
    
            list($type, $data) = explode(';', $data);
            list(, $data)      = explode(',', $data);
            $data = base64_decode($data);
    
            file_put_contents('image64.png', $data);
        }
    ?>
    <!DOCTYPE html>
    <html lang="pt-br">
    <head>
    <meta charset="utf-8">
    <title>Test</title>
    <link href="croppie.css" rel="stylesheet" type="text/css">
    <script type="text/javascript" src="jquery-1.11.3.min.js"></script>
    <script type="text/javascript" src="croppie.js"></script>
    <script type="text/javascript">
    $( document ).ready(function() {
        var $uploadCrop;
    
        function readFile(input) {
            if (input.files && input.files[0]) {
                var reader = new FileReader();          
                reader.onload = function (e) {
                    $uploadCrop.croppie('bind', {
                        url: e.target.result
                    });
                    $('.upload-demo').addClass('ready');
                }           
                reader.readAsDataURL(input.files[0]);
            }
        }
    
        $uploadCrop = $('#upload-demo').croppie({
            viewport: {
                width: 200,
                height: 200,
                type: 'circle'
            },
            boundary: {
                width: 300,
                height: 300
            }
        });
    
        $('#upload').on('change', function () { readFile(this); });
        $('.upload-result').on('click', function (ev) {
            $uploadCrop.croppie('result', {
                type: 'canvas',
                size: 'original'
            }).then(function (resp) {
                $('#imagebase64').val(resp);
                $('#form').submit();
            });
        });
    
    });
    </script>
    </head>
    <body>
    <form action="test-image.php" id="form" method="post">
    <input type="file" id="upload" value="Choose a file">
    <div id="upload-demo"></div>
    <input type="hidden" id="imagebase64" name="imagebase64">
    <a href="#" class="upload-result">Send</a>
    </form>
    </body>
    </html>
    

    a JSFiddle link

    0 讨论(0)
提交回复
热议问题