<% filepath=request.querystring("filepath") filenames=Split(filepath,"/") filename=filenames(1) 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", mineType Response.ContentType ="application/octet-stream" response.AddHeader "Content-Disposition","attachment;filename="&filename Response.AddHeader "content-length", objFile.Size DoWhileNot objStream.AtEndOfStream char = objStream.Read(1) Response.BinaryWrite(char) sent = sent +1 If (sent MOD FILE_TRANSFER_SIZE) =0Then Response.Flush IfNot Response.IsClientConnected Then TransferFile =False ExitDo EndIf EndIf Loop Response.Flush IfNot Response.IsClientConnected Then TransferFile =False objStream.Close Set objStream =Nothing Set objFileSystem =Nothing End Function Dim path, mimeType, sucess path = Server.MapPath(filepath) mimeType ="application/octet-stream" sucess = TransferFile(path, mimeType,filename) Response.End %>