2010-01-06 4 views
1

나는 덜 이상적인 방식으로 이미지를 처리하는 사이트를 상속 받았으며 BLOB로 DB에 저장되었습니다. 이미지 태그는BLOB 데이터가 이미지 태그의 src 속성으로 사용됩니까?

<img src='image.php?id=22' /> 

으로 구성되어 있지만 이미지가 표시되지 않습니다. image.php? id = 22 페이지를 방문하면 BLOB 데이터가 화면 (모든 재미있는 문자)으로 버려지고 이미지가 표시되지 않습니다. 이것이 브라우저에 전송되는 데이터의 콘텐츠 유형과 관련이 있는지 확실하지 않습니다. 나는 "이것은 몇 주 전까지는 잘 작동했었다"는 말을 들었습니다.

제 질문은 BLOB 데이터를 이미지 태그의 src 속성으로 표시하는 것입니까?

편집 : 요청에 따라 여기에 image.php의 내용이 있습니다. 희망이 몇 가지 사용 중입니다.

<? 
error_reporting(0); 
include("../inc/connect.inc"); 
include("../inc/common.inc"); 
include("item.class"); 
$item = new Item($id); 
echo $item->Picture; 
?> 

EDIT2 : 나는이 콘텐츠 형식의 행을 추가하면 페이지는 이미지의 경로를 출력합니다 : http://www.site.com/dir/image.php?id=49. 몇 가지 콘텐츠 유형으로 시도했지만 차이는 없습니다. 이상한!

+0

이 이미지 저장 방법에 문제가 있다고 생각하지 않습니다. – recursive

답변

3

BLOB 데이터가 image.php 스크립트에서 하드 코드 할 수있는 고정 유형 (예 : image/png)이 아닌 한 데이터베이스에 콘텐츠 유형 필드와 BLOB 데이터가 있어야합니다. Content-type : set과 함께 새 헤더를 포함해야합니다.

header('Content-type: image/png'); 

하지만 이미지 유형이 무엇인지 발견 할 것이다 - 내가 추측 할 것입니다 시행 착오, 그것이 꼭 반드시 이미지/JPEG 이미지/PNG 또는 이미지/GIF 중 하나입니까?

1

글쎄, 이미지에 직접 링크하면 똑같은 데이터가 되돌려 보내지 만, 'BLOB'과 웹 서버가 읽고 브라우저에 보낸 데이터는 구분되지 않습니다.

콘텐츠 형식 아이디어로 올바른 길을 걷고 있습니다. 방화범이 콘텐츠 형식이 무엇이라고 말합니까? image.php의 코드를 게시하고 싶을 수 있습니다.

편집 :

을 그래서 거기에 우리가 갈 ... 그냥처럼 보이도록 스크립트를 수정 : 이미지는 어떤 형식 image/png 교체

<? 
header('Content-Type: image/png'); 
error_reporting(0); 
include("../inc/connect.inc"); 
include("../inc/common.inc"); 
include("item.class"); 
$item = new Item($id); 
echo $item->Picture; 
?> 

.

+0

방화범은 내용 유형이 Content-Type \t text/html이므로 문제가되어야한다고 말합니다. 나는 .htaccess를 통해 어떤 종류의 수정이 필요하다고 생각한다. – stef

+0

'image.php'를 게시하지 않아야합니다. – rfunduk

+0

완료, 위를 참조하십시오. – stef

관련 문제