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, сбивающее его с толку, объяснило бы это, почему изображение загружается правильно, а затем выгружается сам?

Author: Raiden616, 2012-05-01

1 answers

Это не только Chrome, но ИМХО неправильно, что у вас есть это в начале: заголовок ('Длина содержимого:'.$файл['байты']); потому что вы не знаете фактического размера файла, так как вы создаете изображение на лету с помощью imagejpeg($image_p, null, 100); Попробуйте прокомментировать заголовок ('Длина содержимого... строка, это может исправить.

 1
Author: Gavriel, 2012-05-01 10:46:44