ASP3.0 기초 강의실

시삽: 레드플러스 님 
게시판 이동:
 제목 : boarddown.asp : 파일 강제 다운로드 페이지
글번호: 179
작성자: 레드플러스
작성일: 2004/04/27 오후 7:26:00
조회수: 8547
파일: boarddown.asp (813 Byte(s)) / 전송수: 1838
파일 강제 다운로드라하면,

자료실 만들 때, *.zip 파일을 제외하고

*.gif 또는 *.jpg, *.htm 등의 파일은 웹 사이트에서

다운로드시 직접 실행되는 경우가 기본값으로 설정되어져 있다.

그런 단점을 극복하고자 아래와 같은 boarddown.asp와 같은 페이지를 하나 두고

이 페이지에 boarddown.asp?strFileName=Test.hwp와 같이 페이지를 요청하면,

해당 파일이 지정된 경로(./files/)에 있다면, 해당 파일을 실행하지 않고,

무조건 다운로드 창을 띄워주는 역할을 한다.

다만, 이런경우에는 서버측 메모리를 많이 소비하는 단점이 있다.

이를 해결하기 위해서는 추가적으로 확장자가 zip이면 일반 다운로드 방식을

기타 실행 가능한 파일이면 강제 다운로드 방식을 선별적으로 지정하는

로직을 추가하면 될 것이다.

<%
' boarddown.asp의 코드 구현

Call Main()

Sub Main()

    strFileName = Request("strFileName")

    If strFileName = "" Then
        Call RedirFail()
        Exit Sub    
    Else
        Call RedirectFile(strFileName)
    End If

End Sub


Sub RedirectFile(strFileName)

    '서버에 저장될 파일의 위치와 이름
    strFilePath = Server.MapPath(".") + "\files\" & strFileName

    Set objFSO = Server.CreateObject("SiteGalaxyUpload.FileSystemObject")
    Set objFile = objFSO.OpenBinaryFile(strFilePath, 1, False)
    
    Response.Clear
    Response.ContentType = "application/octet-stream"
    Response.AddHeader "Content-disposition", "attachment; filename=" & strFileName
    Response.BinaryWrite objFile.ReadAll
    Response.End
    
    Set objFile = Nothing
    Set objFSO = Nothing

End Sub


Sub RedirFail()

    Response.Redirect("./boardlist.asp")

End Sub
%>
 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 23. 쿠키 실습 예제 RequestResponseCookies.asp(860 Byte(s)) 레드플러스 2002-11-07 6873
  22. 자료실 게시판 작성 프로젝트 - Red+ 2002-05-12 7098
  1. 자료실 게시판 테이블 설계 및 환경 설정 Upload.sql(2 KB) 레드플러스 2004-04-26 5955
  Upload.sql - 레드플러스 2004-10-05 5479
  /Upload/Global.asa - 레드플러스 2004-10-05 5583
  2. 입력 페이지 설계 - 레드플러스 2004-04-27 5199
  /Upload/BoardWrite.asp - 레드플러스 2004-10-05 5387
  3. 출력 페이지 설계 - 레드플러스 2004-04-27 4945
  /Upload/BoardList.asp - 레드플러스 2004-10-05 5079
  4. 세부 출력 페이지 설계 - 레드플러스 2004-04-27 5080
  /Upload/BoardView.asp - 레드플러스 2004-10-11 9360
  5. 수정 페이지 설계 - 레드플러스 2004-04-27 5050
  6. 삭제 페이지 설계 - 레드플러스 2004-04-27 5000
  7. 검색 페이지 설계 - 레드플러스 2004-04-27 5055
  8. 다운로드 페이지 설계 - 레드플러스 2004-04-27 5183
현재글 boarddown.asp : 파일 강제 다운로드 페이지 boarddown.asp(813 Byte(s)) 레드플러스 2004-04-27 8547
  9. Windows Server 2003에서 파일 업로드 용량 제한 문제 해결 방법 - 레드플러스 2004-11-01 8931
다음글 21. 파일 업로드 연습 - 관리자 2002-03-21 7272
 
손님 사용자 Anonymous (손님)
로그인 Home