欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Asp 读取任意文件,二进制数据流方式下载:

程序员文章站 2022-10-26 08:47:41
<%set fs = server.createobject("scripting.filesystemobject") fso对象set ado = server.crea...

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

    注释基本都写全了,不再解释了。兼容性比较好,支持任意文件。不知道干什么用的?是下载服务器上文件用的,读取服务器任意文件后,采用二进制数据流的方式下载。