DextUploadPro 파일첨부 표준 글쓰기 > 기술자료 | 해피정닷컴

DextUploadPro 파일첨부 표준 글쓰기 > 기술자료

본문 바로가기

사이트 내 전체검색

DextUploadPro 파일첨부 표준 글쓰기 > 기술자료

ClassicASP DextUploadPro 파일첨부 표준 글쓰기

페이지 정보


본문

덱스트업로드 활용한  파일 업로드

##### upload.asp #####

<%
 response.expires = 0
 uid = Request("uid")
 set db = server.createobject("adodb.connection")
 set rs = server.createobject("adodb.recordset")
%>
<!--#include virtual="/dbConn.asp" -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>업로드</title>
 
<meta http-equiv="Expires" content="-1">   
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-store,max-age=0,must-revalidate, private">
 
<iframe style="height:0px;width:0px;visibility:hidden" src="about:blank">  
<%
'브라우저 캐쉬에 해당 페이지를 저장하지 않도록 No-Cache 옵션을 설정
Response.Expires = -1     
Response.AddHeader "Pragma","no-cache"     
Response.AddHeader "Cache-Control","no-store,max-age=0,must-revalidate, private"
 
'파일의 업로드 진행 상태를 나타내기위한 부분
dim ProgressID, ProgID, obj
set obj = server.CreateObject("DEXT.Progress")
'고유한 ID를 발급 받는다. 차후에 FileUpload와 Progress 자신이 사용한다.
ProgID = obj.GetProgressID()
set obj = nothing
%>
</iframe>
<script type="text/javascript">
<!--
function ShowProgress() {
  strAppVersion = navigator.appVersion;
  if (strAppVersion.indexOf('MSIE') != -1 && strAppVersion.substr(strAppVersion.indexOf('MSIE')+5,1) > 4) {
    winstyle = "dialogWidth=400px; dialogHeight:200px; center:yes";
    window.showModelessDialog("progress.asp?Progressid=<%=ProgID%>",null,winstyle);  
  }
  else {
    winpos = "left=" + ((window.screen.width-380)/2) + ",top=" + ((window.screen.height-110)/2);
    winstyle="width=400,height=200,status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=no,copyhistory=no," + winpos;
    window.open("progress.asp?Progressid=<%=ProgID%>","_blank",winstyle);     
  }
  return true;
}
//-->
</script>
<script type="text/javascript">
<!--
  function input_check() {   
    var f = document.UploadForm;  // 본문 form에서의 name 값으로 수정
    if(f.name1.value == "") {
      alert("항목1을 입력하세요.");
      f.name1.focus();
      return false;
    }
    return true;
  }
//-->
</script>
</head>
 
<body>
<form name="UploadForm" id="UploadForm" method="post" action="upload_ok.asp?ProgressID=<%=ProgID%>" ENCTYPE="multipart/form-data" onSubmit="return input_check()">
<table border="0" cellpadding="0" cellspacing="1" bgcolor="#666666">
    <tr>
        <td>항목 1</td>
        <td><input name="name1" type="text"></td>
    </tr>
    <tr>
        <td>항목2</td>
        <td><input name="name2" type="text"/></td>
    </tr>
    <tr>
        <td>파일 1</td>
        <td><input type="file" name="file1" id="file1" /></td>
    </tr>
    <tr>
        <td>파일 2</td>
        <td><input type="file" name="file2" id="file2" /></td>
    </tr>
    <tr>
        <td align="center"><input type="submit" value="업로드" /></td>
    </tr>
</table>
</form>
</body>
</html>


##### upload_ok.asp #####

<%@Language=VBScript%>
<%
session.codepage = 65001
Response.CharSet = "UTF-8"

Dim fileDir, message, upload_folder, folderPath

' 파일 중복을 제거 하기 위해 고정 사이트 만큼 특정 문자를 채워 주는 함수
Public Function LeftFillString ( strValue, fillChar, makeLength )
    Dim strRet, strLen, diff, i
    strRet  = ""
    strLen  = Len(strValue)
    diff    = CInt(makeLength) - strLen
    
    if diff > 0 then
        for i=1 to diff
            strRet = strRet & CStr(fillChar)
        next
    end if
    
    LeftFillString = strRet & CStr(strValue)
End Function

'유니크한 파일명 만들기
Public Function MakeUniqueFileName( strPrename )
    Dim strFilename, dtNow
    dtNow = now()
    Randomize()
    'strFilename = strPrename & Year(dtNow)
    strFilename = Year(dtNow)
    strFilename = strFilename & LeftFillString( Month(dtNow),   "0", 2 )
    strFilename = strFilename & LeftFillString( Day(dtNow),     "0", 2 )
    strFilename = strFilename & "_"
    strFilename = strFilename & LeftFillString( Hour(dtNow),    "0", 2 )
    strFilename = strFilename & LeftFillString( Minute(dtNow),  "0", 2 )
    strFilename = strFilename & LeftFillString( Second(dtNow),  "0", 2 )
    strFilename = strFilename & "_"  
    strFilename = strFilename & LeftFillString ( Int(Rnd * 1000000), "0", 7 )
    MakeUniqueFileName = strFilename
End Function
  
' 파일 확장자 추출
Function GetFileExt( strFilename )
    Dim strExt, nPos
    nPos = InStrRev( strFilename, ".", -1, 1 ) '// Text Compare
    if nPos > 0 then
        strExt = Mid( strFilename, nPos+1 )
    end if
GetFileExt = strExt
End Function

' DEXT Upload를 사용하고 있습니다.
Set Upload = Server.CreateObject("DEXT.FileUpload")

upload_folder = "/upload/Images"
  
Upload.DefaultPath = Server.MapPath (upload_folder)
folderPath = Server.MapPath(upload_folder & "/")

dim idx, mode
idx = Upload("idx")
mode = Upload("mode")

upload_filename1 = Upload("file1").Filename

if IsNull(Upload("file1")) or Upload("file1").FileLen <= 0 then
    upload_filename1 = ""
    img_filesize = 0
    'message = "Upload file does not exist.\n업로드 파일이 존재하지 않습니다."
else
    upload_filename1 = MakeUniqueFileName("file1") &"."& GetFileExt(upload_filename1)
    img_filesize = Upload("file1").FileLen
    if img_filesize > 0 then
        strExt = Mid(upload_filename1, Instr(upload_filename1, ".") + 1)
        if strExt="jpg" or strExt="JPG" or strExt="JPEG" or strExt="gif" or strExt="GIF" or strExt="png" or strExt="PNG" or strExt="bmp" or strExt="BMP" then
            Upload("file1").SaveAs folderPath & "\" & upload_filename1
        else
            Upload("file1").SaveAs folderPath & "\" & upload_filename1
        end if
        'message = "I have successfully uploaded the files.\n정상적으로 파일을 업로드했습니다."
    else
        'message = "The uploaded file size is zero.\n업로드 파일 사이즈가 0입니다."
    end if
end if
'response.end()

if mode = "edit" then
    sql = "update 테이블이름 set "
    sql = sql & " name = '"& name1 &"' "
    sql = sql & ", name2 = '"& name2 &"' "
    if img_filesize > 0 then
    sql = sql & ", file1 = '"& upload_filename1 &"' "
    end if
    sql = sql & " where idx='"& idx &"' "
    DB.Execute SQL
else
    sql = "insert into 테이블이름 "
    sql = sql & "(name1, name2, file1, regdate)VALUES"
    sql = sql & "('" & name1 & "'"
    sql = sql & ",'" & name2 & "'"
    sql = sql & ",'" & upload_filename1 & "'"
    sql = sql & ",'" & dd & "')"
    DB.Execute SQL
elseif mode = "delete" then
    sql = "delete 테이블이름 where idx='"& idx &"'"
    'DB.Execute SQL
end if
'response.write sql
db.close
set db= nothing
%>
<script language="javascript">
    alert('등록되었습니다.');
    location.href="list.asp?idx=<%=idx%>";
</script>

댓글목록

등록된 댓글이 없습니다.


Total 2,641건 89 페이지
  • RSS
기술자료 목록
881
일반   21397  2010-03-21 11:50 ~ 2013-11-14 00:00  
880
ClassicASP   16925  2010-03-20 23:58 ~ 2011-10-11 00:00  
879
PHP   19309  2010-03-18 22:00 ~ 2016-03-17 00:00  
878
ClassicASP   16873  2010-03-18 02:38 ~ 2015-05-28 00:00  
열람
ClassicASP   17984  2010-03-17 14:27 ~ 2016-08-31 00:00  
876
그누보드   15081  2010-03-17 00:14 ~ 2017-02-24 00:00  
875
PHP   20705  2010-03-16 22:11 ~ 2020-02-08 11:51  
874
그누보드   11057  2010-03-12 20:56  
873
그누보드   14154  2010-03-12 20:39  
872
그누보드   11213  2010-03-12 19:14  
871
그누보드   12421  2010-03-12 16:51  
870
영카트   14226  2010-03-12 13:18  
869
제로보드   18451  2010-03-09 21:40  
868
Linux   20060  2010-03-08 20:43  
867
PHP   25896  2010-03-08 19:42 ~ 2010-03-08 00:00  
866
영카트   13651  2010-03-08 15:40  
865
영카트   12928  2010-02-27 23:27  
864
영카트   10641  2010-02-27 22:24  
863
영카트   11354  2010-02-23 18:47  
862
영카트   12575  2010-02-18 23:41  

검색

해피정닷컴 정보

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

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