当前位置: 首页 > 图文教程 > 网络编程 > ASP > 实现文件下载而不是由ie打开的代码

ASP
ASP编程中15个非常有用的例子 (二)
ASP与JSP的比较(一)
ASP与JSP的比较(二)
ASP中五种连接数据库的方法
从ASP调用SQL中的图像
用排序串字段实现树状结构(例程:连接字串)
用排序串字段实现树状结构(例程:删除贴子)
用排序串字段实现树状结构(例程:回复表单)
用排序串字段实现树状结构(例程:显示贴子内容)
用排序串字段实现树状结构(例程:显示树)
用排序串字段实现树状结构(存储过程)
用排序串字段实现树状结构(库结构)
用排序串字段实现树状结构(原理)
remote script文档(转载自微软)(一)
remote script文档(转载自微软)(二)
remote script文档(转载自微软)(三)
remote script文档(转载自微软)(四)
remote script文档(转载自微软)(五)
remote script文档(转载自微软)(六)
remote script文档(转载自微软)(七)

ASP 中的 实现文件下载而不是由ie打开的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 152 ::
收藏到网摘: n/a

       <%
  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
  %>