ABCUpload 이용해서 파일 업로드 및 다운로드 > 기술자료 | 해피정닷컴

ABCUpload 이용해서 파일 업로드 및 다운로드 > 기술자료

본문 바로가기

사이트 내 전체검색

ABCUpload 이용해서 파일 업로드 및 다운로드 > 기술자료

ClassicASP ABCUpload 이용해서 파일 업로드 및 다운로드

페이지 정보


본문

<%
'파일업로드 기본설정
response.expires = -10000
Server.ScriptTimeOut = 300
Set theForm = Server.CreateObject("ABCUpload4.XForm")
'theForm.CodePage = 65001  ' utf-8일때 사용
theForm.Overwrite = False  ' 덮어쓰기 허용여부  True:허용 / False:안함
theForm.MaxUploadSize = 8000000 '8M 업로드 가능
Set FSO = Server.CreateObject("Scripition.FileSystemObject")
theForm.AbsolutePath = True
 
dim fileName, fileSize
 
Function GetUniqueName(strFileName, DirectoryPath)
 
  dim strName, strExt, bExist, strFileWholePath, countFileName
 
  '확장자가 없는 경우를 처리
  if InstrRev(strFileName, ".") = 0 then
    response.write "<script language='javascript'>"
    response.write "alert(!""적절한 파일이 아닙니다.\n\n확장자가 있는지 확인해보세요"");"
    response.write "history.back();"
    response.write "</script>"
    response.end()
  end if
 
  bExist = True;
  strFileWholePath = DirectoryPath & "\" & strName & "." & strExt
  countFileName = 0
 
  do while bExist
    if (fso.FileExists(strFileWholePath)) then
      countFileName = countFileName + 1
      strFileName = strName & "(" & countFileName & ")." & strExt
    else
      bExist = False
    end if
  loop
 
  GetUniqueName = strFileWholePath
end function
 
sub Exec_fileUp(newFile,deleteFile,deleteFileSize,DirectoryPath,num)
  set theField = newFile(num+1)
  if theField.FileExists then  '만일 파일업을 했으면...
    strFileName = theField.SafeFileName '파일명
    strFileSize = theField.Length  '파일 사이즈
    '파일명을 정한다.
    strExt = mid(strFileName, InstrRev(strFileName, ".") + 1)
    strName = replace(Date(),"-","") & right(session.sessionID,4)
    strFileName = strName & "." & strExt
    if theField.Length > 8000000 then
      response.write "<script language=javascript>"
      response.write "alert(!""8M 이상의 파일은 업로드할 수 없습니다."");"
      response.write "history.back();"
      response.write "</script>"
      response.end()
    else
      if Len(deleteFile) > 0 then
        delfile = DirectoryPath & "\" & deleteFile
        if (fso.FileExists(delfile)) then
          fso.DeleteFile(delfile)  '파일을 지운다.
        end if
      end if
      strFileWholePath = GetUniqueName(strFileName, DirectoryPath)  '적합한 파일인지 체크한다.
      theField.Save strFileWholePath  '파일을 저장한다.
    end if
    fileUpload = strFileName
    fileSize = strFileSize
  else
    fileUplod = deleteFile
    fileSize = deleteFileSize
  end if
end sub
 
 
'파일 업로드, 업로드 폼이 추가되면 아래 문장만 추가한다. 물론 파일명은 수정해야 한다.
CALL Exec_fileUp(theForm.item("fileUpload"),"","",DirectoryPath,0)
%>
 
 
위 CALL 문장은 파일을 업로드 하는데 사용을 하면 되고
수정을 할 경우에는 아래 문장을 사용하면 된다
사용할 경우 삭제할 파일명과 사이즈를 먼저 구한 후에 실행을 해야 한다.
 
<%
'파일 업로드 및 삭제
CALL Exec_fileUp(theForm.item("fileUpload"),DelfileUpLoad,DelfileSize, DirectofyPath,0)
%>
 
 
 
파일을 다운로드 받을 경우, Stream을 이용해서 다운을 받는다.
<%
FileName = request("FIlename")   '파일이름
 
response.ContentType = "application/unknown"  'ContentType 을 선언
response.AddHeader "Content-Disposition","attachment;filename=" & FileName '헤더값이 첨부파일을 선언
Set objStream = Server.CreateObject("ADODB.Stream")
  objStream.Open
  ojbStream.Type = 1
  objStream.LoadFormFile Server.MapPath("\admin\upload") & \" & FileName '절대경로
  download = objStream.Read
  response.BinaryWrite download '이게 보통 response.Redirect 로 연결시켜주는 부분을 대신하여 사용된 것
Set objStream = nothing
%>


자료출처
http://blog.daum.net/thecoolman/3797336​ 

댓글목록

등록된 댓글이 없습니다.


Total 2,641건 69 페이지
  • RSS
기술자료 목록
1281
Linux   14217  2012-12-11 22:45 ~ 2012-12-11 00:00  
1280
Linux   21294  2012-12-11 22:16  
1279
Linux   17352  2012-12-11 22:10  
1278
MSSQL   27808  2012-12-07 11:17  
1277
그누보드   19805  2012-12-03 08:27  
1276
HTML   35651  2012-12-02 09:56  
1275
그누보드   16415  2012-11-30 00:46  
1274
HTML   22325  2012-11-29 18:44  
1273
ClassicASP   14897  2012-11-16 21:44 ~ 2012-11-17 00:00  
1272
ClassicASP   13204  2012-11-16 21:20  
1271
ClassicASP   20272  2012-11-14 20:00  
열람
ClassicASP   21640  2012-11-14 19:52 ~ 2016-01-26 00:00  
1269
그누보드   16284  2012-11-10 14:38 ~ 2017-01-21 00:00  
1268
그누보드   15008  2012-11-08 04:05  
1267
그누보드   11688  2012-11-07 22:01  
1266
그누보드   13740  2012-11-05 02:06  
1265
MySQL   13533  2012-11-05 01:21  
1264
MSSQL   15937  2012-11-05 01:20 ~ 2022-11-23 14:40  
1263
그누보드   11624  2012-11-04 18:20  
1262
MySQL   17435  2012-11-03 06:07  

검색

해피정닷컴 정보

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

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