IE에서 문서를 연결할 때 OLE에서 지원하는 문서를 발견하면 IE는 자동으로 해당 프로그램을 호출하여 문서를 엽니다. 사용자에게 마우스 오른쪽 버튼을 클릭하라고 상기시킬 수는 있지만 때로는 이 기능이 필요하지 않습니다. 문서를 다운로드하기 위한 ....명령으로 대상을 저장하지만 이는 결국 그다지 친숙하지 않습니다. 이 기사에서는 IE에서 문서를 직접 다운로드하기 위해 FSO 및 Stream 메서드를 사용하는 방법을 설명합니다. <%@ 언어=vbscript 코드페이지=65001%>
<%
'파일 이름을 입력해야 합니다.
요청(파일 이름)=이면
response.write <h1>오류:</h1>파일 이름이 비어 있습니다!<p>
또 다른
downloadFile(replace(replace(요청(파일 이름),/,),/,))를 호출합니다.
함수 다운로드파일(strFile)
' 이 기능이 작동하려면 최신 MDAC 버전을 사용하고 있는지 확인하세요.
'지정된 파일의 전체 경로를 얻습니다
strFilename = 서버.MapPath(strFile)
' 버퍼를 지웁니다
응답.버퍼 = 참
응답.지우기
' 스트림 생성
s = Server.CreateObject(ADODB.Stream)로 설정
s.오픈
' 바이너리로 설정
s.유형 = 1
' 파일에 로드
오류 발생 시 다음 재개
'파일이 존재하는지 확인하세요
fso = Server.CreateObject(Scripting.FileSystemObject) 설정
그렇지 않은 경우 fso.FileExists(strFilename) 다음
Response.Write(<h1>오류:</h1>&strFilename&이 존재하지 않습니다!<p>)
응답.종료
종료하면
'파일 길이를 알아낸다
f = fso.GetFile(strFilename) 설정
intFilelength = f.size
s.LoadFromFile(str파일 이름)
만약 그렇다면
Response.Write(<h1>오류: </h1>알 수 없는 오류!<p>)
응답.종료
종료하면
' 사용자에게 헤더를 보냅니다. 찾아보기
Response.AddHeader 콘텐츠 처리, 첨부 파일 이름=&f.name;
Response.AddHeader Content-Length,intFilelength
Response.CharSet = UTF-8
Response.ContentType = 애플리케이션/옥텟 스트림
'파일을 브라우저에 출력
응답.BinaryWrite s.Read
응답.플러시
' 정리하다
s.닫기
s = 없음으로 설정
기능 종료
종료하면
%>