使用角度JS将图像URL转换为base64

时间:2017-12-03 06:48:04

标签: javascript angularjs

我有大约500张链接格式的图片包含https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT_yOZbW3fwqkqaZiAmwcXTy8ia9hQkbAXKqf6sgLmWfooXUV6qMw图片。

因此,通过这种方式,我需要在base64中转换大约500个链接,并在动态生成的PDF中打印。

我已经完成了一些功能

function getBase64FromImageUrl(url) {
var img = new Image();

img.setAttribute('crossOrigin', 'anonymous');

img.onload = function () {
    var canvas = document.createElement("canvas");
    canvas.width =this.width;
    canvas.height =this.height;

    var ctx = canvas.getContext("2d");
    ctx.drawImage(this, 0, 0);

    var dataURL = canvas.toDataURL("image/png");
     return dataURL
   //             alert(dataURL);
};
img.src = url;
 }

我也试过

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

但问题是我正在使用角度js,它是异步的,用于将图像转换为base64需要时间,我无法获得pdf中的那些。

对于PDF生成,我使用的是pdfmake。

所以,任何有助于将图像更快地转换为base64的帮助。

在为我提供解决方案之后,请帮助我,而不是将其标记为重复或拒绝投票。

我没有使用任何类型的画布或图像,这意味着与HTML无关,无法进行转换

0 个答案:

没有答案