Pregunta

Estoy tratando de crear un script que extraiga una imagen de la base de datos y se la muestre al usuario, llamada por <img src="viewImage/someImageName">

Pero el problema que tengo es que cuando la imagen se muestra, todos los Nulos (0x00) se reemplazan por 0x20 y no tengo idea de por qué. Los datos en la base de datos muestran que son nulos, pero en algún punto del camino se cambia a 0x20s.

¿Alguien tiene alguna idea? ¿hay algo que me falta?

Aquí está el código que estoy usando:

$data = $this->Image->read(NULL, $userId);
header("Content-Type: image/jpeg");
echo($data['image']);
die;

No creo que tenga nada que ver con el código porque, como puede ver, no hay lugar para el error. Puedo volcar el contenido binario y aún no ha sido manipulado.

¿Algo con el stack o cakephp alguna idea?

Actualización: Me di cuenta de que se está haciendo un espacio al comienzo de la transmisión, estoy tratando de rastrearlo, ¿podría ser este el problema?

¿Fue útil?

Solución 2

Tenía un espacio perdido en un archivo en algún lugar, muy divertido de rastrear :) Supongo que esto cambia el modo de algo en la pila y corrompe los archivos

Otros consejos

Sí, algo en el camino se está volviendo loco (porque OMG anula, ¿qué pasa si algo piensa que son terminadores de cadena?) y los reemplaza con espacios. Sospecho de CakePHP, pero no estoy lo suficientemente seguro como para decir que estoy acusado. Prueba:

header('Transfer-Encoding-Type: base64');

y vea si eso convence lo que sea que esté haciendo para dejar sus datos en paz.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top