ABCUploadComponent 이용 파일 업로드 > 기술자료 | 해피정닷컴

ABCUploadComponent 이용 파일 업로드 > 기술자료

본문 바로가기

사이트 내 전체검색

ABCUploadComponent 이용 파일 업로드 > 기술자료

ClassicASP ABCUploadComponent 이용 파일 업로드

페이지 정보


본문

<% @Language="VBscript"%>
<% 'Option Explicit %>
<!--#include virtual = /include/dbconn.asp -->
<%
Dim num, fname, email, filename
Dim sql, abc, oFile, rs, strFileName, fileSize, fileType, DirectoryPath

'DirectoryPath = Server.MapPath("/doboard/file")
DirectoryPath = "D:\homepage\kicet\doboard\file"

Set abc = Server.CreateObject("ABCUpload4.XForm")

' 불량(디비 인젝션)코드 제거하기
function ReplaceTag2Text(str)
 Dim text
  text = replace(str, "&", "&amp;")
  text = replace(text, "<", "&lt;")
  text = replace(text, ">", "&gt;")
  text = replace(text, "'", "&quot;")
  text = replace(text, """", "&quot;")
  ReplaceTag2Text = text
End Function

fname  = abc.item("fname")
fname   = replaceTag2text(fname)
email  = abc.item("email")
email   = replaceTag2text(email)
filename = abc.item("filename")
filename  = replaceTag2text(filename)
ipAddr  = request.ServerVariables("REMOTE_ADDR")

'response.write ("fname = "& fname &"<br>")
'response.write ("email = "& email &"<br>")
'response.END

if Len(ImageFile) > 0 then
 abc.AbsolutePath = True
 Set oFile = abc("filename")(1)

 '실제적인 파일 업로드를 처리하는 부분
 If oFile.FileExists Then
  strFileName = oFile.SafeFileName
  FileSize = oFile.Length
  FileType = oFile.FileType

  if oFile.Length > 4096000 then
   Response.Write "<script type='text/javascript'>"
   Response.Write "alert(""4M 이상의 사이즈인 파일은 업로드하실 수 없습니다"");"
   Response.Write "history.back();"
   Response.Write "</script>"
   Response.end
  else
   strFileWholePath = GetUniqueName(strFileName, DirectoryPath)
   'response.write strfilewholepath
   oFile.Save strFileWholePath
  End if
 End if
 '파일 업로드 처리 완료..
end if

'response.write ("strFileWholePath = "& strFileWholePath &"<br>")
'response.write ("FileSize = "& FileSize &"<br>")
'response.write ("FileType = "& FileType &"<br>")
'response.write ("strFileName = "& strFileName &"<br>")
'response.END

'if Len(filename) > 0 then
 sql = "Insert into tblCEO (fname, email, filename, fileSize, ipaddr) values ('"&fname&"', '"&email&"', '"&strFileName&"', '"&fileSize&"', '"&ipaddr&"')"
'response.write ("sql = "& sql &"<br>")
'response.end
dbconn.Execute(sql)
'end if

Response.Redirect "03.asp?fname="& fname

'유니크한 파일경로및 파일이름을 얻어내는 함수
Function GetUniqueName(byRef strFileName, DirectoryPath)
 Dim strName, strExt
 ' 확장자를 제외한 파일명을 얻는다.
 strName = Mid(strFileName, 1, InstrRev(strFileName, ".") - 1)
 '확장자를 얻는다
 strExt = Mid(strFileName, InstrRev(strFileName, ".") + 1)
 Dim fso
 Set fso = Server.CreateObject("scripting.FileSystemObject")
 Dim bExist : bExist = True
 '우선 같은이름의 파일이 존재한다고 가정
 Dim strFileWholePath : strFileWholePath = DirectoryPath & "\" & strName & "." & strExt
 '저장할 파일의 완전한 이름(완전한 물리적인 경로) 구성
 Dim countFileName : countFileName = 0
 '파일이 존재할 경우, 이름 뒤에 붙일 숫자를 세팅함.
 Do While bExist ' 우선 있다고 생각함.
  If (fso.FileExists(strFileWholePath)) Then ' 같은 이름의 파일이 있을 때
   countFileName = countFileName + 1 '파일명에 숫자를 붙인 새로운 파일 이름 생성
   strFileName = strName & "(" & countFileName & ")." & strExt
   strFileWholePath = DirectoryPath & "\" & strFileName
  Else
   bExist = False
  End If
 Loop
 GetUniqueName = strFileWholePath
End Function
%>

 

참고사이트
- 세필로님 블로그 ( http://blog.naver.com/acc700?Redirect=Log&logNo=50027385778 )
- 오프라인님 블로그 ( http://blog.naver.com/bmsdong?Redirect=Log&logNo=40002576895 )

 

댓글목록

등록된 댓글이 없습니다.


Total 2,640건 108 페이지
  • RSS
기술자료 목록
500
ClassicASP   13971  2008-06-11 09:54 ~ 2009-07-20 00:00  
499
ClassicASP   12535  2008-06-10 19:47 ~ 2009-10-26 00:00  
498
영카트   15632  2008-06-09 11:02  
497
HTML   13126  2008-06-08 07:25 ~ 2010-12-06 00:00  
496
영카트   13339  2008-06-07 18:08  
495
일반   11864  2008-06-05 05:06  
494
JavaScript   24951  2008-06-04 12:18  
열람
ClassicASP   15368  2008-05-29 22:14  
492
WindowsServer   22164  2008-05-29 17:51 ~ 2015-02-23 00:00  
491
테크노트   14648  2008-05-27 10:19 ~ 2022-10-13 07:40  
490
ClassicASP   15483  2008-05-23 23:29  
489
ClassicASP   21906  2008-05-23 23:14 ~ 2016-01-23 00:00  
488
MSSQL   24867  2008-05-22 05:48 ~ 2016-05-28 00:00  
487
ClassicASP   10060  2008-05-20 19:10  
486
Linux   9552  2008-05-20 08:10 ~ 2021-09-09 09:29  
485
메이크샵   14363  2008-05-03 11:28  
484
JavaScript   13726  2008-05-15 21:00  
483
도메인   12682  2008-05-15 14:14  
482
영카트   11705  2008-05-14 11:57  
481
그누보드   11354  2008-05-10 15:38  

검색

해피정닷컴 정보

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

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