ASP File Streaming

J

James Whitehead

I have the following code which works fine downloading smaller files, the
trouble is most of the files to be downloaded are large. With large files it
just returns a HTTP 500 error.

Any ideas how to get this to work. I have tried to split the download into
chunks but it just timesout.

Set objFile = objFSO.GetFile(strFileName)
'-- first clear the response, and then set the appropriate headers
Response.Clear
'-- the filename you give it will be the one that is shown
' to the users by default when they save
Response.AddHeader "Content-Disposition", "attachment; filename=" &
strFileName
Response.AddHeader "Content-Length", objFile.Size
Response.ContentType = "application/octet-stream"

Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
'-- set as binary
objStream.Type = 1
Response.CharSet = "UTF-8"
'-- load into the stream the file
objStream.LoadFromFile(strFileName)
'-- send the stream in the response

Response.BinaryWrite(objStream.Read)
Response.Flush
objStream.Close
Set objStream = Nothing
Set objFile = Nothing
 
J

James Whitehead

Further to this I am now trying to break the code into chunks again. Here is
the code. Everything works until I get to the line zzz=BA.Read(100) and it
returns a HTTP 500 Error. Any ideas?

Dim FileSize, ByteCounter, FileName, ChunkSize

ChunkSize = 1024
FileName = Trim(Request.QueryString("File"))
FileSize =
CreateObject("scripting.filesystemobject").GetFile(FileName).Size

'This is download
Response.ContentType = "application/x-msdownload"

'Set file name
Response.AddHeader "Content-Disposition", "attachment; filename=""" &
GetFileName(FileName) & """"

'Set Content-Length (ASP doen not set it when Buffer = False)
Response.AddHeader "Content-Length", FileSize
Response.CacheControl = "no-cache"

Dim BA
' Set BA = CreateObject("ScriptUtils.ByteArray")'
Set BA = Server.CreateObject("ADODB.Stream")
BA.Open
BA.LoadFromFile(FileName)
zzz= BA.Read(100)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,020
Latest member
GenesisGai

Latest Threads

Top