现在的位置: 网页制作教程网站制作教程 >正文
asp语言高级教程

ASP如何实现二进制数据流文件下载

发表于2016/11/16 网站制作教程 0条评论 ⁄ 热度 3,149℃
导语:数据流方式的存储和下载一直受很多站长的喜欢,本文就着重给大家讲解如何在ASP中实现二进制数据流文件下载。

具体应用场景:读取服务器上任意文件后,采用二进制数据流的方式下载

二进制数据流

<%
Set Fs = Server.CreateObject("Scripting.FileSystemObject") 'Fso对象
Set Ado = Server.CreateObject("Adodb.Stream") 'Ado对象
i = 0  '计数器
r = 1024 '每次读取大小(byte)
FilePath = Server.MapPath("test.mp3") '文件路径
Ado.Mode = 3 '1 读,2 写,3 读写
Ado.Type = 1 '1 二进制,2 文本
Ado.Open
Ado.LoadFromFile(FilePath) '载入文件
Response.AddHeader "Content-Disposition", "attachment; filename=" & Fs.GetFile(FilePath).name '文件名
Response.AddHeader "Content-Length", Ado.size '通知浏览器接收的文件大小
Response.ContentType = "application/octet-stream" '通知浏览器接受的文件类型(可自己定义,很多种,但一般都用这个
While i < Ado.Size '循环读取直到读完为止
Response.BinaryWrite Ado.Read(r) '输出二进制数据流
Response.Flush '立即发送(要求至少256字节),不加的话可能提示超过缓存区。
i = i + r '累加计数器
Wend
Ado.Close '关闭文件对象
Response.End
%>

注释基本都写全了,不再解释了。兼容性比较好,可支持任意文件。

  • 暂无评论