이미지 파일 디비 저장 및 BLOB필드 이미지 나타내기 > 기술자료 | 해피정닷컴

이미지 파일 디비 저장 및 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 2,634건 97 페이지
  • RSS
기술자료 목록
714
일반   32547  2009-05-20 19:00  
713
HTML   23832  2009-05-20 18:42  
712
일반   23218  2009-05-19 19:44 ~ 2009-05-20 00:00  
열람
ClassicASP   29218  2009-05-19 13:00  
710
MSSQL   16585  2009-05-08 09:43  
709
MSSQL   18375  2009-05-08 08:28  
708
호스팅   15285  2009-05-06 18:47  
707
호스팅   17135  2009-05-03 13:20 ~ 2011-08-19 00:00  
706
그누보드   12176  2009-05-03 03:26  
705
Linux   12921  2009-05-01 18:15  
704
그누보드   11628  2009-05-01 14:20  
703
호스팅   11503  2009-05-01 12:29  
702
HTML   26292  2009-04-30 12:01 ~ 2013-01-13 00:00  
701
그누보드   11897  2009-04-30 11:12  
700
JavaScript   24331  2009-04-28 12:28  
699
Adobe   14060  2009-04-28 11:39  
698
JavaScript   18832  2009-04-28 11:26 ~ 2011-06-29 00:00  
697
Adobe   12613  2009-04-25 18:18  
696
Adobe   15963  2009-04-25 18:12  
695
Adobe   19660  2009-04-25 17:05  

검색

해피정닷컴 정보

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

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