2016-08-19 14 views
-2

Ich habe ein iframe, das ein Bild enthält. Die Bildquelle ist mit einem Bild in einem S3 Bucket verknüpft. Ich muss dieses Bild in Base64 kodieren und den Körper des iframe in der Datenbank speichern.Bild zu Base64 von Amazon S3 kodieren

Wie kann ich das tun?

+1

Mögliche Duplikat [Get Bilddaten in JavaScript?] (Http://stackoverflow.com/questions/ 934012/get-image-data-in-javascript) –

+0

Was hast du versucht, außer andere zu bitten, deine Arbeit für dich zu tun, und warum hat es nicht funktioniert? –

Antwort

0

Versuchen Sie, diese How to access the <img /> in document from iframe?

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

und dann diese Funktion verwenden, um von hier 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

Vielen Dank für die Antwort, aber wenn ich versuche, dies zu tun: var image = $ ('# Iframe1'). Contents(). Find ('img'); console.log ("Base64" + aktuelle.getBase64Image (Bild)); Ich habe einen Fehler "Der angegebene Wert ist keine Art von HTMLImageElement" –

+0

log out den Wert des Bildes, sag mir, was es ist –