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 198건 8 페이지
  • RSS
기술자료 목록
58
ClassicASP   15163  2008-08-02 18:01  
57
ClassicASP   35973  2008-07-16 16:44  
56
ClassicASP   12931  2008-07-10 13:38  
55
ClassicASP   12116  2008-07-01 18:28  
54
ClassicASP   12619  2008-06-23 19:58  
53
ClassicASP   11938  2008-06-23 19:54 ~ 2008-08-02 00:00  
52
ClassicASP   16914  2008-06-23 19:46 ~ 2016-10-21 00:00  
51
ClassicASP   20340  2008-06-23 19:37  
50
ClassicASP   23219  2008-06-23 19:31 ~ 2008-05-27 00:00  
49
ClassicASP   18236  2008-06-23 19:22 ~ 2009-11-11 00:00  
48
ClassicASP   20662  2008-06-19 21:59 ~ 2018-12-01 22:44  
47
ClassicASP   17705  2008-06-14 19:57  
46
ClassicASP   13996  2008-06-11 09:54 ~ 2009-07-20 00:00  
45
ClassicASP   12559  2008-06-10 19:47 ~ 2009-10-26 00:00  
열람
ClassicASP   15378  2008-05-29 22:14  
43
ClassicASP   15495  2008-05-23 23:29  
42
ClassicASP   21934  2008-05-23 23:14 ~ 2016-01-23 00:00  
41
ClassicASP   10069  2008-05-20 19:10  
40
ClassicASP   25394  2008-05-04 09:58  
39
ClassicASP   12538  2008-04-26 15:38  

검색

해피정닷컴 정보

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

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