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>