View Single Post
Old 03-07-2014, 16:23   #1
kwb
Senior Member
 
L'Avatar di kwb
 
Iscritto dal: Jul 2003
Cittā: Alessandria
Messaggi: 10167
[Javascript] Conversione immagine base64 da altro dominio

Sto cercando di convertire un'immagine presa tramite js AJAX ( con jQuery ) da un altro dominio in base64.
Utilizzo questa tecnica che pare essere l'unica possibile, trovata su StackOverflow:
Codice:
function convertImgToBase64(url, callback, outputFormat){
		var canvas = document.createElement('CANVAS'),
		ctx = canvas.getContext('2d'),
		img = new Image;
		img.crossOrigin = 'Anonymous';
		img.onload = function(){
			canvas.height = img.height;
			canvas.width = img.width;
			ctx.drawImage(img,0,0);
			var dataURL = canvas.toDataURL(outputFormat || 'image/png');
			console.log(dataURL);
			callback.call(this, dataURL);
			canvas = null; 
		};
		img.src = url;
}

convertImgToBase64(miaImgDaAltroDominio,function(data){
var base64 = data.split('base64'); //Il codice si trova su base64[1]
});
Ora questo codice č stato testato in locale ( con immagini che arrivano dallo stesso dominio ) e funziona perfettamente.
Il problema sorge quando le immagini arrivano da un altro dominio: infatti dopo l'istruzione
Codice:
img.src = url; //url contiene il link all'immagine!
Stampando img.src con console.log mi ritrovo il link nel seguente formato:
indirizzo_del_dominio_corrente+url
Per esempio, se mi trovo su esempio1.com/pagina/p1.php e faccio partire lo script per recuperare l'immagine che si trova su esempio2.com/imgs/immagine.png
Il mio img.src risulterā uguale a: esempio1.com/pagina/esempio2.com/imgs/immagine.png

C'č modo di ovviare a questo problema??
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
kwb č offline   Rispondi citando il messaggio o parte di esso