2015-09-09 5 views
1

Возможно ли base64 кодировать файл с помощью Javascript непосредственно с удаленного URL-адреса? Например, если бы я хотел, чтобы base64 закодировал логотип google в моем приложении с https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png только с javascript, это можно сделать?Javascript Base64 Удаленный файл

ответ

0

Я нашел жизнеспособное решение, используя холст html5 и jquery - jsfiddle, скопированный здесь. Я, вероятно, идти по этому пути:

https://jsfiddle.net/bu25sosf/1/

function convertImgToBase64(url, callback, outputFormat) { 
    var img = new Image(); 
    img.crossOrigin = 'Anonymous'; 
    img.onload = function() { 
     var canvas = document.createElement('CANVAS'); 
     var ctx = canvas.getContext('2d'); 
     canvas.height = this.height; 
     canvas.width = this.width; 
     ctx.drawImage(this, 0, 0); 
     var dataURL = canvas.toDataURL(outputFormat || 'image/png'); 
     callback(dataURL); 
     canvas = null; 
    }; 
    img.src = url; 
} 


$('#img2b64').submit(function (event) { 
    var imageUrl = $(this).find('input[name=url]').val(); 
    console.log('imageUrl', imageUrl); 
    convertImgToBase64(imageUrl, function (base64Img) { 
     $('.output') 
      .find('textarea') 
      .val(base64Img) 
      .end() 
      .find('a') 
      .attr('href', base64Img) 
      .text(base64Img) 
      .end() 
      .find('img') 
      .attr('src', base64Img); 
    }); 

    event.preventDefault(); 
}); 
Смежные вопросы