12-21-04 01:47 AM
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)
"James Whitehead" <James@whitehead.co.uk> wrote in message
news:#RZDLBv5EHA.3840@tk2msftngp13.phx.gbl...
> 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
>
>
[ Post a follow-up to this message ]
|