2016-10-18 2 views
0

Привет Я пытаюсь получить данные изображения из тега img с помощью jquery.Как получить данные изображения из атрибута src?

var imagedata = $('.avatar_store img').attr('src'); 

Я получаю неопределенный как возвращение к этой imagedata.How читать этот образ как сгусток в base64 format.Can вы помочь мне? Заранее спасибо.

+0

добавить ур тег с этим классом avatar_store IMG –

+0

Вы уверены, что вы получите элементы спичек ваш селектор? проверьте '$ ('. avatar_store img'). length' –

+0

Возможный дубликат [canvas.toDataURL() SecurityError] (http://stackoverflow.com/questions/20424279/canvas-todataurl-securityerror) –

ответ

2

HTML

<img id=imageid src=https://www.google.de/images/srpr/logo11w.png> 

JavaScript

function getBase64Image(img) { 
    var canvas = document.createElement("canvas"); 
    canvas.width = img.width; 
    canvas.height = img.height; 
    var ctx = canvas.getContext("2d"); 
    ctx.drawImage(img, 0, 0); 
    var dataURL = canvas.toDataURL("image/png"); 
    return dataURL.replace(/^data:image\/(png|jpg);base64,/, ""); 
} 

var base64 = getBase64Image(document.getElementById("imageid")); 

Источник

CONVERT Image url to Base64

+1

Хорошо, если вы добавите какое-то объяснение или лучше, чем ссылка, где вы скопировали ответ http://stackoverflow.com/questions/22172604/convert-image-url-to-base64/#answer-22172860 –

+0

Извинения @Satindersingh. Будем иметь в виду со следующего раза. –

+0

Итак, это похоже на работу, но браузер дает мне ошибку безопасности в отношении испорченных холстов. Есть ли способ обойти это? – Rozgony

0

Вы можете получить данные изображения с помощью холст:

var img = new Image(); 
img.crossOrigin = 'Anonymous'; 
img.onload = function() { 
    var canvas = document.createElement('canvas'), 
     ctx = canvas.getContext('2d'), 
     dataURL; 

    canvas.height = this.height; 
    canvas.width = this.width; 
    ctx.drawImage(this, 0, 0); 

    dataURL = canvas.toDataURL(outputFormat); 
    console.log('base64', dataURL); 

    canvas.toBlob(function(blob) { 
     console.log('blob', blob); 
    }); 
}; 
img.src = $('.avatar_store img').attr('src'); 
Смежные вопросы