-3

データベースからブロブ画像を取得していますが、壊れた状態で返されます。

私が削除した場合header("Content-Type: image/jpeg");

PNGファイルであるため、ファイル拡張子を返す必要があります

‰PNG  IHDR\r¨fÆÉIDAT

問題は何ですか?はい。私 header("Content-Type: image/png");も試してみました

ob_start と ob_end_flush(); を試しました。

コード

  ob_start();

    $query = $db->query("SELECT `image` FROM `userdetails` WHERE id = '{$_SESSION['uid']}' ");
    $row = $query->fetch(PDO::FETCH_ASSOC);

    echo $row['image'];


    header("Content-Type: image/jpeg");
    ob_end_flush();

ありがとう

4

2 に答える 2

1

あなたが質問で尋ねていることは、あなたの質問がそうではないかと心配している多くのパラメーターの影響を受けます-仮にあったとしても-それらのいくつかだけを傷つけます.

目に飛び込んでくるのが PNG ヘッダーです。

‰PNG  IHDR\r¨fÆÉIDAT

壊れたようには見えません。したがって、画像をデータベースに保存する際に問題が発生した可能性があります。データが切り捨てられたり変更されたりして、この変更に気付かなかったのではないでしょうか?

これに対処する 1 つの方法は、後でデータの整合性を検証できるように、ファイルを BLOB に入れる前にファイルのチェックサムを作成することです。

于 2013-04-15T23:00:13.087 に答える
1

後ではなく、画像データのにヘッダーを出力する必要があります。

header("Content-Type: image/png");
echo $row['image'];
于 2013-04-15T23:02:08.280 に答える