3초기억력

ASP - 오라클 BLOB type 에 외부 URL 이미지의 Binary 를 insert 하고, view 하는 소스 본문

플밍_ASP

ASP - 오라클 BLOB type 에 외부 URL 이미지의 Binary 를 insert 하고, view 하는 소스

잠수콩 2011. 4. 15. 11:34



제목 : 오라클 BLOB type 에 외부 URL 이미지의 Binary 를 insert 하고, view 하는 소스


1. form 파일 : form.asp


<HTML>

<BODY>

<FORM NAME="writeform" METHOD="post" ACTION="process.asp">

<INPUT TYPE="text" NAME="id" /><BR>

<INPUT TYPE="text" NAME="url" /><BR>

<INPUT TYPE="submit" VALUE="upload" />

</FORM>

</BODY>

</HTML>


2. process.asp


<%
'외부 경로의 이미지 binary 가져오는 함수 

function BinaryGetURL(URL)

Dim Http
'방법은 아래의 것 중 알아서 선택 

'Set Http = CreateObject("Microsoft.XMLHTTP")

'Set Http = CreateObject("MSXML2.ServerXMLHTTP")

Set Http = CreateObject("WinHttp.WinHttpRequest.5.1")

'Set Http = CreateObject("WinHttp.WinHttpRequest")

Http.Open "GET", URL, False

Http.Send

BinaryGetURL = Http.ResponseBody

End Function


'외부 경로의 파일의 확장자 추출 ( 컨텐츠 타입 추출 하기 위함 )

Function GetFileExt(str)

  Dim filepath, fileext

  filePath = str

  fileExt = Mid(filePath, InStrRev(filePath, ".") + 1)

  GetFileExt = fileExt

End Function


Dim id, url, ContentTypePre, binaryImage

id = request("id")

url = request("url")

binaryImage = BinaryGetURL(url)

ContentTypePre = "image/"


Dim conn, rs, sql

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open "Provider=OraOLEDB.Oracle.1;Password=test;Persist Security Info=True;User ID=test;Data Source=test"


sql = "insert into test_img (id, img, photo_type) values ('"& id &"', empty_blob(), '"& ContentTypePre & GetFileExt(url) &"')"

response.write sql & "<br>"

conn.execute(sql)


sql = "select img from TEST_IMG where id='"& id &"'"

response.write sql & "<br>"


Set rs=Server.CreateObject("ADODB.Recordset")

rs.Open sql, conn, 3, 3

rs.fields("img").appendChunk(binaryImage)

rs.Update

rs.Close

Set rs = Nothing

%>

<a href="view.asp?id=<%=id%>">확인하러 가기 (<%=id%>)</a>



3. view.asp


<%

Dim id

id = request("id")


Dim conn, rs, sql

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open "Provider=OraOLEDB.Oracle.1;Password=test;Persist Security Info=True;User ID=test;Data Source=test"


sql = "select * from TEST_IMG where id='"& id &"'"

Set rs = conn.execute(sql)


If Not rs.eof Then

    Response.Expires = 0

    Response.Buffer = TRUE

    Response.Clear


    Response.ContentType = rs("photo_type")

    Response.BinaryWrite rs("img")


Else

    response.write "데이타 없음<br>"

End If

%>


오라클 BLOB type 에 이미지를 저장 후 페이지에서 보여주기 인데, 특이한건, 외부 URL 에서 이미지를 가져와서 처리하는 법  


출처 : 



Comments