代码之家  ›  专栏  ›  技术社区  ›  Lakshan Sandakelum

未捕获引用错误:未定义imageCrop

  •  0
  • Lakshan Sandakelum  · 技术社区  · 7 年前

    我试图在引导模式下上传并裁剪图像,我遵循了 codepen example . 除了jquery、bootstrap等,我没有导入任何裁剪库。我遇到了错误,

    “未捕获引用错误:未定义imageCrop 在cropImage(上传image.js?v=20180410173156:55) 在图像中。img。onload(上传图像.js?v=20180410173156:41)”

    我应该使用什么库,或者我想写什么javascript?我是javascript新手

    我的Javascript:

    $('#drop').on('click', function() {
        $('#fileUpload').trigger('click');
    });
    
    $('#fileUpload').on('change', function(e) {
        addImage(e.target);
    });
    
    $("#drop").on("dragover", function(e) {
        e.preventDefault();
        e.stopPropagation();
        $(this).addClass('dragging');
    });
    
    $("#drop").on("dragleave", function(e) {
        $(this).removeClass('dragging');
    });
    
    $("#drop").on("drop", function(e) {
        e.preventDefault();
        e.stopPropagation();
        var data = e.dataTransfer || e.originalEvent.dataTransfer;
        addImage(data);
    });
    
    function addImage(data) {
        var file = data.files[0];
        if (file.type.indexOf('image') === -1) {
            alert('Sorry, the file you uploaded doesn\'t appear to be an image.');
            return false;
        }
    
        var reader = new FileReader();
        reader.onload = function(event) {
            var img = new Image();
            img.onload = function() {
                if (img.width < 200 || img.height < 200) {
                    alert('Sorry, the image you uploaded doesn\'t appear to be large enough.');
                    return false;
                }
                cropImage(img);
            }
            img.src = event.target.result;
        }
        reader.readAsDataURL(file);
    }
    
    function cropImage(originalImage) {
    
        $(originalImage).attr('id', 'fullImage');
        $('#imageResize').html(originalImage);
        // $('#sectionDragAndDrop').addClass('hidden');
        $('#sectionResize').removeClass('hidden');
    
        var newImage = new imageCrop('#fullImage', 200, 200);
    
        $('#crop').on('click', function() {
            var results = newImage.crop();
            $('#thumbnail').html(results.img);
            // $('#sectionResize').addClass('hidden');
            $('#sectionThumbnail').removeClass('hidden');
        });
    
    }
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Hamza Fatmi    7 年前

    您需要包括 imageCrop 定义,在代码笔链接之后,您将在JS设置中的外部脚本中找到该脚本: ImageCrop .