<
%
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
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
path = Server.MapPath(filepath)
mimeType = " application/octet-stream "
sucess = TransferFile(path, mimeType,filename)
Response.End
% >
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
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
path = Server.MapPath(filepath)
mimeType = " application/octet-stream "
sucess = TransferFile(path, mimeType,filename)
Response.End
% >