% Const ForReading=1 Const TristateTrue=-1 'Unicode Const FILE_TRANSFER_SIZE=16384 '16k 'Use the following line for IIS4/PWS - this is the default for IIS5 Response.Buffer = True Function TransferFile(path, mimeType, filename) Dim objFileSystem, objFile, objStream Dim char Dim sent send=0 TransferFile = True Set objFileSystem = Server.CreateObject("Scripting.FileSystemObject") Set objFile = objFileSystem.GetFile(Path) Set objStream = objFile.OpenAsTextStream(ForReading, TristateTrue) Response.AddHeader "content-type", mimeType response.AddHeader "Content-Disposition","attachment;filename="&filename Response.AddHeader "content-length", objFile.Size Do While Not objStream.AtEndOfStream char = objStream.Read(1) Response.BinaryWrite(char) sent = sent + 1 If (sent MOD FILE_TRANSFER_SIZE) = 0 Then Response.Flush If Not Response.IsClientConnected Then TransferFile = False Exit Do End If End If Loop Response.Flush If Not Response.IsClientConnected Then TransferFile = False objStream.Close Set objStream = Nothing Set objFileSystem = Nothing End Function Dim path, mimeType, sucess 'Server.MapPath(path) path = "C:\Inetpub\wwwroot\help.gif" mimeType = "application/x-msdownload" sucess = TransferFile(path, mimeType,"help.gif") Response.End %>

