Tengo el siguiente codigo javascript, el cual muestra un documento en una zona de la pagina:
Código:
// Documento JavaScript
// Esta función cargará las paginas
function llamarasincrono (url, id_contenedor)
{
var pagina_requerida = false;
if (window.XMLHttpRequest)
{
// Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest ();
} else if (window.ActiveXObject)
{
// pero si es IE
try
{
pagina_requerida = new ActiveXObject ("Msxml2.XMLHTTP");
}
catch (e)
{
// en caso que sea una versión antigua
try
{
pagina_requerida = new ActiveXObject ("Microsoft.XMLHTTP");
}
catch (e)
{
}
}
}
else
return false;
pagina_requerida.onreadystatechange = function ()
{
// función de respuesta
cargarpagina (pagina_requerida, id_contenedor);
}
pagina_requerida.open ('GET', url, true); // asignamos los métodos open y send
pagina_requerida.send (null);
}
// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function cargarpagina (pagina_requerida, id_contenedor)
{
if (pagina_requerida.readyState == 4 && (pagina_requerida.status == 200 || window.location.href.indexOf ("http") == - 1))
document.getElementById (id_contenedor).innerHTML = pagina_requerida.responseText;
}
y este PHP que es el documento llamado:
Código PHP:
<? // OJO, sólo funciona con imagnes en formato JPEG ...
if(isset($_GET['id'])) {
$conexion=mysql_connect("","","") or die ("no se ha podido conectar a la BD");
mysql_select_db("") or die ("no se ha podido seleccionar la BD");
$sql = "SELECT archivo_binario,archivo_tipo,archivo_nombre FROM archivos WHERE id='".$_GET['id']."'";
$consulta = mysql_query($sql,$conexion);
$imagen = mysql_result($consulta,0,"archivo_binario");
// Envio cabeceras al navegador .. se indica que lo "que vá" es una imagen de formato MIME JPEG
Header ("Content-type: image/jpeg");
// Generar el thumbnail:
// Se crea la imagen desde el campo binario de la BD
$img = imagecreatefromstring($imagen);
// Tamaño del Thumbanil (de la imagen a generar ..)
$picsize = 500;
// Se obtienen los datos del ancho y alto de la imagen.
$new_w = imagesx($img);
$new_h = imagesy($img);
// Se calcula la relación alto/ancho
$aspect_ratio = $new_h / $new_w;
// Se ajusta al nuevo tamaño
$new_w = $picsize;
$new_h = abs($new_w * $aspect_ratio);
// Se crea la mascara de la imagen nueva
$dst_img = ImageCreateTrueColor($new_w,$new_h);
// Se copia y reajusta el nuevo tamaño en la nueva imagen.
imagecopyresampled($dst_img,$img,0,0,0,0,$new_w,$new_h,imagesx($img),imagesy($img));
// Se entrega al buffer de salida (navegador en este caso) la imagen en formato JPEG
// El tercer parámetro (100) indica la calidad de la imagen: en porcentaje relación calidad/peso imagen.
imagejpeg($dst_img,'',100);
}
?>
y cuando lo ejecuto me muestra la imagen como caracter, cual podria ser el prioblema? algo que tenga que agregar en el javascript?