Web Programming/ASP|ASP.Net

[ASP] 대용량 파일다운로드시 500 error 발생 해결 방법

Rusi(루시) 2021. 2. 4. 16:23

실제 파일 서버에서 불러와 클라이언트에게 전달하는 부분

 

''Stream 객체 생성

Set objStream = Server.CreateObject("ADODB.Stream")

objStream.Open

objStream.Type = 1

objStream.LoadFromFile target  ''target = 파일 서버 full path

 

''기존 소스 -> 한번에 전달

'Response.BinaryWrite objStream.Read

 

''대용량 파일 다룬로드시 나눠서 전송하는 로직 추가

Const CHUNK = 2048000          ''2MB씩

Response.Buffer = False

 

''Stream 객체의 파일 끝까지 OR 클라이언트 접속이 없을때까지

Do Until objStream.EOS Or Not Response.IsClientConnected         Response.BinaryWrite(objStream.Read(CHUNK))

Loop

 

''완료후 Stream 객체 초기화

Set objstream = Nothing