加入收藏
联系我们
虚拟主机
  虚拟主机评测网  文章系统首页 
   虚拟主机评测网文章 → ASP技术 → ASP技巧 → 浏览: 实现文件下载而不是由ie打开的代码
实现文件下载而不是由ie打开的代码
作者:  发表时间:2003年8月7日   阅读次数()
<%
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
%>

来源:  计算机开发者俱乐部  


本系统由虚拟主机评测网制作维护
E-mail:xianweixie@gmail.com OICQ:7834843
Copyright © 2003-2004 All Rights Reserved