Изображение Blob не читается при загрузке (php)

У меня есть программа с изображениями, хранящимися в виде BLOB-объектов в базе данных MySQL, и она отлично работает, за исключением моей ссылки для скачивания. Он загружается точно так же, как и должен, и имеет правильный размер, но изображения не отображаются.

При загрузке это в основном то, как обрабатывается изображение:

$image = $_FILES['image']['tmp_name'];

$data = file_get_contents($image);

Затем я использую PDO для подключения MySQL:

$q->bindParam(2, $data, PDO::PARAM_LOB);

Это прекрасно работает при использовании base64.

$image = new Gmagick();
$image->readimageblob($data);
<img src="data:image/'.$ext.';base64,'.base64_encode($image->getimageblob()).'" />';

Но вот моя проблема.

header('Content-Disposition: attachment; filename='.$regnr.'-'.$id.'.'.$ext;
header("Content-type: image/$ext");
header("Content-length: $size");
echo $data; 

Я также попытался повторить $image->getimageblob(); и такие... а также некоторые другие заголовки. Но результат тот же, изображение загружается, правильный размер и формат, но я не могу его прочитать.

Как мне это решить?

1 ответ

Решение

Я нашел ответ. Я думаю, что использовал около 15 часов на это..

Хотя, если кому-то интересно, решение состоит в одной простой строке:

 ob_clean();

до выхода.

Другие вопросы по тегам