如何用url中的图像初始化角度图像裁剪器?

时间:2017-04-30 14:02:52

标签: javascript angularjs

我在Angular 1.6中使用这个angular image cropper lib。

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

我想裁剪已上传到服务器的文件。我的问题是如何使用具有url的图像初始化裁剪器?

1 个答案:

答案 0 :(得分:1)

将base64字符串提供给cropper.sourceImage

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一起打包到 fire 摘要周期

Demo