이미지 파일 디비 저장 및 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 198건 6 페이지
  • RSS
기술자료 목록
98
ClassicASP   25418  2010-01-04 03:34 ~ 2018-03-24 04:08  
97
ClassicASP   20174  2009-11-11 00:39 ~ 2009-11-11 00:00  
96
ClassicASP   17474  2009-10-08 23:12  
95
ClassicASP   22979  2009-09-30 14:51 ~ 2010-04-24 00:00  
94
ClassicASP   28256  2009-09-18 03:00 ~ 2016-03-21 00:00  
93
ClassicASP   13872  2009-09-07 12:51 ~ 2016-02-11 00:00  
92
ClassicASP   23212  2009-08-14 18:18  
91
ClassicASP   18148  2009-08-14 17:47  
90
ClassicASP   21106  2009-08-07 04:04 ~ 2013-02-13 00:00  
89
ClassicASP   11942  2009-08-01 13:31  
88
ClassicASP   25235  2009-07-27 09:23 ~ 2015-05-13 00:00  
87
ClassicASP   19045  2009-07-22 22:45  
86
ClassicASP   19115  2009-07-22 19:42  
85
ClassicASP   27643  2009-07-21 06:37 ~ 2016-03-31 00:00  
84
ClassicASP   18680  2009-07-06 10:23  
열람
ClassicASP   29194  2009-05-19 13:00  
82
ClassicASP   13358  2009-04-17 20:08  
81
ClassicASP   18010  2009-03-19 10:33 ~ 2009-03-19 00:00  
80
ClassicASP   19819  2009-01-31 10:55  
79
ClassicASP   12159  2009-01-30 20:33 ~ 2014-02-21 00:00  

검색

해피정닷컴 정보

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

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