이미지 파일 디비 저장 및 BLOB필드 이미지 나타내기 > 기술자료

본문 바로가기

사이트 내 전체검색

이미지 파일 디비 저장 및 BLOB필드 이미지 나타내기 > 기술자료

ClassicASP 이미지 파일 디비 저장 및 BLOB필드 이미지 나타내기

페이지 정보


본문

출처 : http://sqler.pe.kr/web_board/view_list.asp?id=76384&read=431&part=myboard1 

전에 이미지를 테이블 컬럼에 넣는 작업을 했었는데요. 그때는 tabs upload라는 컴포넌트를 이용해서 했습니다. 다음 예제를 참고하세요.

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[UploadFile]') and OBJECTPROPERTY(id,
N'IsUserTable') = 1)
drop table [dbo].[UploadFile]
GO

CREATE TABLE [dbo].[UploadFile] (
 [id] [int] IDENTITY (1, 1) NOT NULL ,
 [filename] [varchar] (50) COLLATE Korean_Wansung_CI_AS NOT NULL ,
 [filedata] [image] NULL ,
 [body] [text] COLLATE Korean_Wansung_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

<%@ Language=VBScript %>
<% Option Explicit
'-----------------------------------------------------------------------
'TABS Upload Example: Database Upload
'
'--- Copyright (c) 2003 TABS Laboratories Corporation
'--- Mail: help@tabslab.com   WWW: http://www.tabslab.com
'-----------------------------------------------------------------------
%>
<html>
<head>
 <title>데이터베이스 업로드 예제</title>
</head>
<body>
<%
Dim Upload
'업로드를 처리할 오브젝트를 생성합니다.
Set Upload = Server.CreateObject("TABS.Upload")
'업로드를 시작합니다.
Upload.Start "C:\TEMP"

'첨부 파일이 있을 경우 데이터베이스에 저장합니다.
If Upload.Form("uploadFile").FileSize <> 0 Then
 Dim ConnStr, Rs, SQL
 '데이터베이스 연결 문자열을 수정해야 합니다.
 ConnStr = "PROVIDER=SQLOLEDB;Password=;User ID=;Initial Catalog=;Data Source="

 'ADO 레코드셋 오브젝트를 생성합니다.
 Set Rs = Server.CreateObject("ADODB.Recordset")

 SQL = "UploadFile"
 Rs.Open SQL, ConnStr, 1, 3

 Rs.AddNew
 '"filename" 필드를 기록한다.
 Rs("filename") = Upload.Form("uploadFile").FileName
 Rs("body") = "테스트 업로드 입니다."
 '업로드된 파일 데이터를 "filedata" 필드에 기록한다.
 Upload.Form("uploadFile").SaveAsBlob Rs("filedata")
 Rs.Update

 Rs.Close
 Response.Write "저장이 완료 되었습니다."
Else
 Response.Write "업로드된 파일이 없습니다."
End If

Set Upload = Nothing
%>
</body>
</html>



출처 : http://support.microsoft.com/kb/601057/ko 

ASP에서 BLOB필드에 저장된 이미지를 나타내는 방법

대부분의 Internet browser들은 GIF와 JPEG 이미지를 지원한다. 이미지를 보여주기 위해서, 브라우저는 웹 서버로부터 이미지를 요청한다. 서버는 HTTP헤더의 MIME형식을 IMAGE/GIF 또는 IMAGE/JPEG를 포함함으로써, 이미지를 브라우저로 보낸다. 이러한 작업들을 Active Server Page를 이용하여 가능하다. 다음의 예제는 이미지에 대한 HTTP헤더를 작성하고 GIF파일을 브라우저에 제공하기 위해서 SQL서버에 있는 Image필드에 있는 이진 정보를 사용한다.


FILE: SHOWIMG.ASP
   <%@ LANGUAGE="VBSCRIPT" %>
   <%
   ' Clear out the existing HTTP header information
   Response.Expires = 0
   Response.Buffer = TRUE
   Response.Clear

' Change the HTTP header to reflect that an image is being passed.
   Response.ContentType = "image/gif"

   Set cn = Server.CreateObject("ADODB.Connection")
   ' The following open line assumes you have set up a System DataSource by the name of myDSN.
   cn.Open "DSN=myDSN;UID=sa;PWD=;DATABASE=pubs"
   Set rs = cn.Execute("SELECT logo FROM pub_info WHERE pub_id='0736'")
   Response.BinaryWrite rs("logo")
   Response.End
   %>


위의 스크립트는 화면에 이미지만을 보여준다. HTML이나 ASP 문서로부터 이미지를 보여주려고 한다면 <IMAGE> 태그 안에 위의 파일을 참조한다.예를 들어, 이미지를 이 이미지를 설명하는 텍스트와 함께 화면에 나타내려면 다음과 같은 HTML페이지를 사용한다. 

   <HTML>
   <HEAD><TITLE>Display Image</TITLE></HEAD>
   <BODY>
   This page will display the image New Moon Books from a SQL Server 6.5 image field.<BR>
   <IMG SRC="SHOWIMG.ASP">
   </BODY>
   </HTML>

이 방법은 다른 형식의 이진 데이터에도 적용할 수 있다. 이를 위해 필요한 것은 표현될 Content의 형식이 무엇인지를 브라우저에게 알려주는 것이다. Response.ContentType에 적절한 Mine형식을 설정함으로써 브라우저에게 Content형식을 알려줄 수 있다. 예를 들어, 워드 문서를 나타내기 위해서는 ContentType = "application/msword"으로 설정한다.



참고자료
http://fillgun.tistory.com/archive/20080416 
http://sqler.pe.kr/web_board/view_list.asp?id=76384&read=431&part=myboard1 
http://support.microsoft.com/kb/601057/ko 

댓글목록

등록된 댓글이 없습니다.


Total 198건 7 페이지
  • RSS
기술자료 목록
78
ClassicASP   11852  2009-01-30 20:17  
77
ClassicASP   15217  2009-01-28 11:09 ~ 2015-01-31 00:00  
76
ClassicASP   13260  2009-01-23 14:41 ~ 2009-01-23 00:00  
75
ClassicASP   21697  2009-01-22 19:33  
74
ClassicASP   25414  2009-01-22 19:28  
73
ClassicASP   24462  2009-01-20 21:48  
72
ClassicASP   19675  2009-01-20 11:09 ~ 2016-10-21 00:00  
71
ClassicASP   19580  2009-01-20 08:35  
70
ClassicASP   12429  2009-01-19 16:27  
69
ClassicASP   22491  2009-01-16 19:22 ~ 2009-01-29 00:00  
68
ClassicASP   10711  2009-01-13 10:54  
67
ClassicASP   19704  2009-01-05 20:09 ~ 1970-01-01 09:00  
66
ClassicASP   14740  2008-12-31 05:55  
65
ClassicASP   12399  2008-12-11 17:35 ~ 2009-10-08 00:00  
64
ClassicASP   11071  2008-11-29 14:44  
63
ClassicASP   15384  2008-11-29 14:41 ~ 2012-06-09 00:00  
62
ClassicASP   18076  2008-11-26 23:02  
61
ClassicASP   14189  2008-08-25 20:42  
60
ClassicASP   18100  2008-08-25 18:06  
59
ClassicASP   27849  2008-08-02 18:01 ~ 2016-10-21 00:00  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2026 해피정닷컴. All Rights Reserved.