4

MySQLデータベースにblobとして保存された画像を含むプログラムがあり、ダウンロードリンクを除いて完全に機能します。正常にダウンロードされ、適切なサイズですが、画像が表示されません。

アップロード中、これは主に画像の処理方法です。

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

$data = file_get_contents($image);

次に、MySQL接続にPDOを使用しています。

$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();をエコーし​​ようとしました。など...および他のいくつかのヘッダー。しかし、結果は同じで、画像のダウンロードは正しいサイズと形式ですが、私はそれを読むことができません。

どうすればこれを解決できますか?

4

1 に答える 1

5

私は答えを見つけました。私はこれに約15時間を使用したと思います。

ただし、誰かが疑問に思っている場合、解決策は1つの単純な行です。

 ob_clean();

出力前。

于 2012-11-12T14:45:50.853 に答える