Chrome "Выгружает" Изображения?
Я пишу PHP-скрипт для динамического изменения размера изображения. Идентификатор изображения (из базы данных MySQL) передается следующим образом:"http://localhost/getimage/1.htm ".
Когда я перехожу непосредственно к сценарию с URL-адресом, как указано выше, изображение отображается идеально. Но по какой-то причине (только в Chrome), когда я связываю этот URL-адрес с тегом, он начинает вести себя странно. При первой загрузке страницы изображение загружается нормально, но затем панель загрузки вращается около 5 секунд, и внезапно изображение исчезает и Chrome показывает ошибку "Не удалось загрузить ресурс".
Есть ли у кого-нибудь идеи, что может быть причиной этого, и если да, то как это остановить? Я подумал, что это может быть как-то связано с блокировкой рекламы, но я отключил это, и это все еще происходит.
Ваше здоровье.
Редактировать: Это код, который я использую:
header('Content-Type:'.$file['type']);
header('Content-Length: ' . $file['bytes']);
// Get size of original image
list($o_width, $o_height) = getimagesize($file['src']);
// Default width and height
if (is_null($width)) {
$width = $o_width;
}
if (is_null($height)) {
$height = $width;
}
// Create image frame
$image_p = imagecreatetruecolor($width, $height);
// Generate image depending on source type
switch ($file['type']) {
case "image/jpeg":
default:
$image = imagecreatefromjpeg($file['src']);
break;
case "image/gif":
$image = imagecreatefromgif($file['src']);
break;
case "image/png":
$image = imagecreatefrompng($file['src']);
break;
}
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $o_width, $o_height);
// Output
imagejpeg($image_p, null, 100);
exit;
Как вы можете видеть, я устанавливаю типы контента. Если бы это было расширение htm, сбивающее его с толку, объяснило бы это, почему изображение загружается правильно, а затем выгружается сам?
1 answers
Это не только Chrome, но ИМХО неправильно, что у вас есть это в начале: заголовок ('Длина содержимого:'.$файл['байты']); потому что вы не знаете фактического размера файла, так как вы создаете изображение на лету с помощью imagejpeg($image_p, null, 100); Попробуйте прокомментировать заголовок ('Длина содержимого... строка, это может исправить.