我正在Angular 1.6中使用此angular image cropper库。

该示例显示了通过input type='file'从本地计算机选择文件后如何裁剪文件。

我想裁剪已经上传到服务器的文件。我的问题是如何使用包含网址的图片初始化裁剪器?

最佳答案

cropper.sourceImage提供base64字符串为:

function toDataURL(url, callback) {
  var xhr = new XMLHttpRequest();
  xhr.onload = function() {
    var reader = new FileReader();
    reader.onloadend = function() {
      callback(reader.result);
    }
    reader.readAsDataURL(xhr.response);
  };
  xhr.open('GET', url);
  xhr.responseType = 'blob';
  xhr.send();
}

toDataURL('https://www.gravatar.com/avatar/d50c83cc0c6523b4d3f6085295c953e0',
                    function(dataUrl) {
  $timeout(function() {
        $scope.cropper.sourceImage = dataUrl;
        console.log(dataUrl);
    }, 0);




我们用$scope.cropper.sourceImage = dataUrl;包装$timeout来触发摘要循环

Demo

关于javascript - 如何使用URL中的图像初始化Angular图像裁剪器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43707270/

10-13 05:20