2016-08-19 3 views
-2

У меня есть iframe, который содержит изображение. Источник изображения связан с изображением в ведре S3. Мне нужно закодировать это изображение в Base64 и сохранить тело iframe в базе данных.Кодировать изображение на Base64 от Amazon S3

Как это сделать?

+1

Возможный дубликат [Получить данные изображения в JavaScript?] (Http://stackoverflow.com/questions/ 934012/get-image-data-in-javascript) –

+0

Что вы пробовали, кроме просить других сделать вашу работу за вас и почему это не сработало? –

ответ

0

Попробуйте How to access the <img /> in document from iframe?

$('#Iframe1').contents().find('img').css({'width':'100%','height':'90%'}); 

, а затем использовать эту функцию здесь Get image data in JavaScript?

function getBase64Image(img) { 
    // Create an empty canvas element 
    var canvas = document.createElement("canvas"); 
    canvas.width = img.width; 
    canvas.height = img.height; 

    // Copy the image contents to the canvas 
    var ctx = canvas.getContext("2d"); 
    ctx.drawImage(img, 0, 0); 

    // Get the data-URL formatted image 
    // Firefox supports PNG and JPEG. You could check img.src to 
    // guess the original format, but be aware the using "image/jpg" 
    // will re-encode the image. 
    var dataURL = canvas.toDataURL("image/png"); 

    return dataURL.replace(/^data:image\/(png|jpg);base64,/, ""); 
} 
+0

Большое спасибо за ответ, но когда я пытаюсь это сделать: var image = $ ('# Iframe1'). Contents(). Find ('img'); console.log («Base64» + current.getBase64Image (изображение)); У меня есть ошибка «Предоставляемое значение не является типом HTMLImageElement» –

+0

выйдите из системы, чтобы узнать, что это такое –