cropper.jscant 初始化 blob 图像 <img> 由 blueimp 标记

cropper.jscant initialize blob image <img>tag by blueimp

所以我想要的是:

select 输入类型文件的图像, 用 blueimp 缩小比例, 使用 cropper.js

裁剪图像

所以 blueimp 部分工作正常,图像被调整到 maxWidth 属性 并作为 <img> 标签附加到“#imagearea” 然后我想初始化 cropper.js 基于在那个标签上,就像在文档中一样,这是我的代码

  document.getElementById('file-input').onchange = function (e) {
      var loadingImage = loadImage(
          e.target.files[0],
          function (img) {


            $(img).attr("style","max-width: 100%;")
            $('#imagearea').append(img)
            // now i see the image and when i inspect dom its a <img> tag

            // so lets initialize the cropper
            $('#imagearea').find("img").cropper({
              aspectRatio: 16 / 9,
              crop: function(e) {

              }
            });
          },
          {maxWidth: 1280}
      );

  };

但是在初始化裁剪器时, 首先我得到一个 404 错误,比如

GET blob:http://foo.bar/64c77709-29f7-44ba-8772-49517e7976e5 404 (Not Found)

然后

Uncaught RangeError: 偏移量超出了 DataView 的范围 在 DataView.getUint8() 在米 (6eaf333.js:7051) 在 e.value (6eaf333.js:7051) 在 XMLHttpRequest.n.onload (6eaf333.js:7051)

请使用"noRevoke "选项。

document.getElementById('file-input').onchange = function (e) {
      var loadingImage = loadImage(
          e.target.files[0],
          function (img) {


            $(img).attr("style","max-width: 100%;")
            $('#imagearea').append(img)
            // now i see the image and when i inspect dom its a <img> tag

            // so lets initialize the cropper
            $('#imagearea').find("img").cropper({
              aspectRatio: 16 / 9,
              crop: function(e) {

              }
            });
          },
          {maxWidth: 1280,noRevoke: true}
      );

  };