파일 다운로드 소스 > 온라인강의

본문 바로가기
 
 
 
오늘 1,644
어제 1,770
최대 2,526
전체 3,572,205

최근 방문자

1016
1862
1835
1777
1770
1644
15 16 17 18 19 20
비즈니스의 시작 비즈명함 ~ 가격, 품질, 배송 3가지 만족을 드리는 비즈명함 / 즉석명함 / 급행서비스 / 서울 전지역 수도권일부 3시간배송

select * from g5_menu where me_use = '1' and me_link like '%lecture%'
온라인강좌 홈 > 온라인강좌 > 온라인강좌

ClassicASP | 파일 다운로드 소스

페이지 정보

작성일2017-09-13 23:26 조회413회 댓글0건

본문


<%
file_dir = "/upload/"
file_name = "HappyDay.png"
%>

1. 파일 링크 다운로드가 아닌 파일을 직접 읽어 스트림으로 보내는 형식

1-1. file.asp

<a href="download.asp?filename=<%=file_name%>">파일 다운로드</a>


1-2. download.asp

<%
    '----------------------------------------------------------------------
    ' *************** ASP 파일 다운로드 소스 ******************
    '  파일 링크 다운로드가 아닌 파일을 직접 읽어 스트림으로 보내는 형식
    ' ****************************************************
    '
    ' [사용방법]
    '  1) download.asp?filename=test.jpg
    '  2) <a href="download/download.asp?filename=aaa.jpg">aaa.jpg 파일 다운로드</a>
    '----------------------------------------------------------------------
    '파일이 저장되어 있는 경로
    filepath = "c:\temp\"

    '다운로드할 파일 이름을 얻어온다.(c:\temp\에 해당 파일이 있으면 다운로드 함)
    filename = request("filename")

    Response.Expires = 0
    Response.Buffer = True
    Response.Clear

    Set fs = Server.CreateObject("Scripting.FileSystemObject")

    If fs.FileExists(filepath & filename) Then
        '파일이 있을경우 파일을 스트림 형태로 열어 보낸다.
        Response.ContentType = "application/octet-stream"
        Response.CacheControl = "public"
        Response.AddHeader "Content-Disposition","attachment;filename=" & filename

        Set Stream=Server.CreateObject("ADODB.Stream")
        Stream.Open
        Stream.Type=1
        Stream.LoadFromFile filepath & filename
        Response.BinaryWrite Stream.Read
        Stream.close
        Set Stream = nothing
    Else 
        '파일이 없을 경우...
        Response.Write "해당 파일을 찾을 수 없습니다."
    End If
    
    Set fs = Nothing
%>




2. 자바스크립트를 이용해서 파일 다운로드 하기

2-1. file.asp

<form name="form1" method="post">
<input type="hidden" name="idx" value="<%=GetSeq%>">
<input type="hidden" name="boardName" value="<%=NewGetTable%>">
<input type="hidden" name="filedir" value="">
<input type="hidden" name="filename" value="">
</form>

<a href="javascript:down('<%=file_dir%>','<%=file_name%>');">다운로드</a>

<script>
function down(str,str2){
    var form = document.form1;
    form.filedir.value = str;
    form.filename.value = str2;
    form.action = "download.asp";
    form.submit();
}
</script>


2-2. download.asp
<%
call down()
'call down_new()

sub down()
    Dim csfilename, strUA, intVersion, objStream, strFile, csfilepath, csfiledir
    
    csfilename = trim(Request.Form("filename"))
    csfiledir = trim(Request.Form("filedir"))
    csfilepath= server.MapPath("/") & csfiledir
    
    strUA = Request.ServerVariables("HTTP_USER_AGENT")
    Response.ContentType = "application/unknown"
    
    If Instr(strUA, "MSIE") Then
        intVersion = CDbl(mid(strUA, Instr(strUA, "MSIE")+5, 3))
        
        If intVersion = 5.5 Then
                response.cachecontrol="public"
                Response.AddHeader "Content-Disposition","filename=" & csfilename
        Else
                Response.AddHeader "Content-Disposition","attachment;filename=" & csfilename
        End If
    Else
        Response.AddHeader "Content-Disposition","attachment;filename=" & csfilename
    End If
    
    Set objStream = Server.CreateObject("ADODB.Stream")
    objStream.Open
    objStream.Type = 1
    objStream.LoadFromFile csfilepath & csfilename
    strFile = objStream.Read
    Response.BinaryWrite strFile
end sub


sub down_new()
    dim filename, filepath, objFS, objF, objDownload, filedir 
    
    filedir = server.MapPath("/") & trim(Request.Form("filedir"))
    filename = trim(Request.Form("filename"))
    
    '다운될 파일 경로 체크 = 경로+파일명
    filePath = filedir & filename
    'response.write filePath
    'response.end
    
    Response.Buffer = False
    'Response.ADDheader "Content-Disposition","attachment;filename="&filename
    
    '======== 인터넷 익스플로 안에서 보여줄때..
    'Response.ADDheader "Content-Disposition","inline;filename="&filename
    
    set objFS=server.createobject("scripting.filesystemobject")
    
    if not objFS.fileexists(filepath) then 
        'response.write "경로 : " & filepath
        %>
        <script language="javascript">
        alert("파일이 존재하지 않습니다.");
        history.go(-1)
        </script>
        <% 
    else 
        set objF=objFS.GetFile(filepath)
        response.addheader "content-length", objF.size
        set objF=nothing
        set objFS=nothing
        response.contenttype="application/unknown"
        response.cachecontrol="public"
        Response.ADDheader "Content-Disposition","attachment;filename="&filename
        'set objDownload=Server.Createobject("dext.filedownload")
        'objDownload.Download filepath
        'set objDownload=nothing
        set fso = server.CreateObject("SiteGalaxyUpload.FileSystemObject")
        set file = fso.OpenBinaryFile (filepath,1,false)
        Response.BinaryWrite file.ReadAll
        set fso = nothing
    end if
end sub
%>


참고자료
http://sugame.tistory.com/230
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.


목록

Total 2,093건 1 페이지
온라인강의 목록
번호 제목
2093
Search 네이버 검색등록 삭제하기 (write.2017-10-20)새글  Hit.25
2092
Search 접속자 로그 분석 서비스 (write.2017-10-19)  Hit.25
2091
2090
2089
2088
2087
2086
2085
2084
2083
2082
2081
2080
2079
2078
2077
2076
2075
2074
Editor [CKEeditor] Emojione 추가하기 (write.2017-09-18)  Hit.315
2073
2072
열람중
ClassicASP 파일 다운로드 소스 (write.2017-09-13)  Hit.414
2070
일반 무료 음악 사이트 (write.2017-09-09)  Hit.477
2069
호스팅 이미지 호스팅 (update.2017-09-07)  Hit.483
게시물 검색
 
 
상호: 해피정닷컴 대표:정창용 사업자등록번호:119-05-36414 (08394) 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
전화: 070-7600-3500 팩스:02-865-3528 개인정보관리:정창용 mail@happyjung.com 에스크로확인
개인정보취급방침
COPYRIGHT 2001~2017 해피정닷컴. All rights reserved. 통신판매신고:2014-서울구로-0074
 
모바일 버전으로 보기