Lamp / Cakephp: потоковое изображение: двоичный 0x00 заменен на 0x20 - PullRequest
0 голосов
/ 16 сентября 2009

Я пытаюсь создать скрипт, который извлекает изображение из базы данных и отображает его для пользователя с именем <img src="viewImage/someImageName">

Но проблема, с которой я сталкиваюсь, заключается в том, что при отображении изображения все нули (0x00) заменяются на 0x20, и я не знаю, почему. Данные в базе данных показывают, что они являются нулевыми, но где-то по пути они меняются на 0x20 с.

У кого-нибудь есть идеи? я что-то упускаю?

Вот код, который я использую:

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

Я не думаю, что это имеет какое-либо отношение к коду, потому что, как вы можете видеть, нет места для ошибки. Я могу выгрузить двоичное содержимое, и оно еще не было изменено.

Что-то со стеком или чепухой? Есть мысли?

Обновление: Я заметил, что пробел в начале потока, я пытаюсь отследить его, может ли это быть проблемой?

Ответы [ 2 ]

0 голосов
/ 17 сентября 2009

У меня где-то было свободное место в файле, очень интересно отследить :) Я предполагаю, что это переключает режим чего-то в стеке и портит файлы

0 голосов
/ 16 сентября 2009

Да, что-то по пути сходит с ума (потому что OMG обнуляет, что если кто-то думает, что они являются терминаторами строки) и заменяет их пробелами. Я подозреваю, что CakePHP, но не совсем уверен, чтобы сказать J'accuse. Попробуйте:

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

и посмотрите, убеждает ли это все, что делает, оставить ваши данные в покое.

...