Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/05/2012, 14:22
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: convertir binario (como una imagen) en base64

Maycol tiene razón. No obstante, como parece ser que estás usando un campo de tipo file y la api fileReader de html5, en ese caso particular y teniendo en cuenta que no todos los navagadores lo sopoprtan y también que tenés que probarlo en un servidor web para que funcione (en local falla con algunos navegadores), podés hacer algo como esto:
Código PHP:
<!DOCTYPE html>
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<
title>Untitled Document</title>
<
script type="text/javascript">
function $(
x){return document.getElementById(x);}
onload=function(){
    $(
'archivo').addEventListener('change',previsualizar,false);
}
function 
codificar(im){
    var 
i=new Image();
    
i.onload=function(){
        var 
w=this.width,
        
h=this.height,
        
canvas=document.createElement('canvas'),
        
ctx=canvas.getContext('2d');
        
canvas.width=w;
        
canvas.height=h;
        
ctx.drawImage(i,0,0,w,h);
        $(
'log').innerHTML=canvas.toDataURL().split('base64,')[1];
        
    }
    
i.src=im;
}
function 
previsualizar(e){
    var 
input=e.target,fr=new FileReader(),
    
tipos=/^image/jpg|image/jpeg|image/png|image/gif$/i;
    if(
input.files.length===0)return;
    if(!
tipos.test(input.files[0].type)){alert("El archivo selecionado es inválido");return;}
    
fr.onload=function(evt){
        var 
im=evt.target.result;
        
codificar(im);
    }
    
fr.readAsDataURL(input.files[0]);
    
    
    
}
</script>
</head>

<body>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
    <input type="file" name="archivo" id="archivo" />
</form>
<div id="original"></div>
<div id="log"></div>

</body>
</html>