Hola, me pasa una cosa muy curiosa, tengo un campo blob en base de datos mysql que guardia archivos .doc y .pdf. Desde la web cuando le doy a ver un documento y es .doc va perfecto tanto si le doy a abrir directamente como si guardo localmente y luego lo abro. En cambio cuando se trata de un .pdf si le doy directamente a abrir me da el siguiente mensaje de error:
"Error al abrir el archivo. El documento no se encuentra".
Y si le doy a guardar localmente y luego lo abre funciona correctamente por lo que deduzco que el archivo está bien.
Pero aún hay más, me acabo de dar cuenta de que pasa este error si lo abro con explorer, si lo abro con firefox no pasa.... les pego el código php que abre el campo blob:
Código PHP:
<?php
session_start();
ini_set("include_path", $_SESSION['ipath']);
$id = $_REQUEST["id_fichero"];
$enlace = mysql_connect ("xxxx.com", "xxxx_xxxb", "****") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("ceesib_ceesibdb");
// Realizar una consulta SQL
if (isset($_REQUEST["imagen"]))
$consulta = "SELECT nombre, tipo, size, contenido FROM ceesib_imagen WHERE Id=". $id;
else
$consulta = "SELECT nombre, tipo, size, contenido FROM ceesib_fichero WHERE Id=". $id;
$resultado = mysql_query($consulta);
while($datos_fichero = mysql_fetch_array($resultado))
{
$nombre = $datos_fichero["nombre"];
$tipo = $datos_fichero["tipo"];
$size = $datos_fichero["size"];
$contenido = $datos_fichero["contenido"];
}
header("Content-type: " . $tipo );
header("Content-length: ". $size);
header("Pragma: no-cache");
if (strstr($tipo, "image")){
header("Content-Disposition: inline; filename=\"". $nombre ."\"");
} else {
header("Content-Disposition: attachment; filename=\"". $nombre ."\"");
}
print $contenido;
unset($contenido);
?>
Haber si se les ocurre algo por que yo lo he mirado y requetemirado y no veo el error... Gracias anticipadas...!!!!