오라클 BLOB 타입으로 저장된 이미지를 웹상에서 바로 볼 수 있는 코드 입니다.

MSDN 에서 참고해서 만든겁니다.

 

예> list.asp 페이지에서 BlobtoImage.asp 를 호출해서 보는 형태입니다.

 

[ list.asp 내용 ]

 

<td bgcolor=white align=center><img src='BlobtoImage.asp' width="100"></td>

 

[ BlobtoImage.asp 내용 ]

 

<!--#include file="adovbs.inc"-->

<%

'//////////////////////////////////////////////////////////////
'// BLOB 타입의 이미지를 웹상에서 보여주기
'// <img src='BlobtoImage.asp' width=100> 형식으로 사용하면 됨
'//////////////////////////////////////////////////////////////
Dim adoPIC

Dim SQL

Dim PicSize

Dim Pic


On Error Resume Next

 

    Response.Buffer = TRUE

    Response.ContentType = "image/JPEG"     '// 타입을 이미지 타입으로..

 

    '///////////////////////////////

    '// DB컨넥션 부분 생략....

    '///////////////////////////////

   

    '// BLOB 타입으로 저장된 테이블

    '// PHOTO 가 BLOB 타입인 컬럼

    SQL = "select PHOTO from STUDENT_PHOTO where STUDENT_ID = '00100100'

   

    Set adoPIC = CreateObject("ADODB.Recordset")

    adoPIC.Open SQL, adoCon, 1, 1

 

    '// 해당 레코드가 없다면

    if adoPIC.RecordCount = 0 or adoPIC.EOF = true or adoPIC.BOF = true then

        Pic = ""

    else

        '// BLOB 타입에 데이타가 없다면

        if isnull(adoPIC("PHOTO")) = true then

            Pic = ""

        else

            '// 데이타가 있다면 원래 크기 만큼 GetChunk 통해서 이미지화 한다

            PicSize = adoPIC("PHOTO").ActualSize

            Pic = adoPIC("PHOTO").GetChunk(PicSize)

        end if

    end if

   

    Response.BinaryWrite Pic

 

    if adoPIC.State = adStateOpen then

        adoPIC.Close

    end if

   

    Set adoCon = nothing

   

    If Err.Number <> 0 Then

        Pic = ""

    End If

%>


img 태그의 사이즈를 조절하면 원본그림의 사이즈가 커도 img 태그의 크기로 나오게 됩니다.

Pic 가 공백이면 이미지나오는 부분은 엑스박스가 표시됩니다.


+ Recent posts