2012-11-05 5 views
3

이미지가있는 프로그램이 MySQL 데이터베이스에 BLOB으로 저장되어 있으며 다운로드 링크를 제외하고 완벽하게 작동합니다. 그냥 다운로드해야하며 올바른 크기이기는하지만 이미지는 표시되지 않습니다.이미지를 다운로드 할 때 blob을 읽을 수 없습니다. (PHP)

이 업로드하는 이미지 처리 주로 방법이지만 :

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

$data = file_get_contents($image); 

가 그럼 난 MySQL의 연결을 위해 PDO를 사용하고 있습니다 : 64 기수를 사용할 때 잘 작동

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

.

$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(); 그리고 ... 다른 헤더들도 마찬가지입니다. 그러나 이미지 다운로드와 같은 결과가 올바른 크기와 형식이지만 읽을 수는 없습니다.

어떻게 해결할 수 있습니까?

답변

3

답변을 찾았습니다. 출력하기 전에

ob_clean(); 

: 사람이 궁금해하는 경우 나, 나는이 약 15시간 .. 비록

을 사용하는 생각이 솔루션은 하나 개의 간단한 라인입니다.

관련 문제