ASP实现文件下载功能的代码,.txt

根据提供的文件标题、描述、标签以及部分内容,我们可以深入解析并总结出有关ASP实现文件下载功能的知识点。 ### ASP实现文件下载功能的代码解读 #### 一、基础概念 在了解具体的代码实现之前,首先需要对ASP(Active Server Pages)有一个基本的认识。ASP是一种服务器端脚本环境,在HTML页面中可以嵌入各种脚本语言如VBScript或JScript来创建动态网页。它由微软开发,并广泛应用于早期的Web应用程序开发中。 #### 二、文件下载原理 在ASP中实现文件下载主要涉及到几个关键步骤: 1. **设置响应头部**:通过`Response`对象设置HTTP响应头,告知浏览器文件名和文件类型。 2. **读取文件内容**:利用`FileSystemObject`对象读取指定路径下的文件内容。 3. **发送文件数据**:将读取到的文件数据发送给客户端。 #### 三、代码详解 接下来,我们将逐步分析给出的代码片段: ```vb 'Response.Buffer=true 'Set oFso = Server.CreateObject("Scripting.FileSystemObject") 'Set fn = oFso.GetFile(trueurl) 'flsize = fn.size 'flname = fn.name 'Set fn = Nothing 'Set oFso = Nothing 'Set objStream = Server.CreateObject("ADODB.Stream") 'objStream.Open 'objStream.Type=1 'objStream.LoadFromFile trueurl 'Select Case Right(flname, 4) 'Case ".asf" ' ContentType="video/x-ms-asf" 'Case ".avi" ' ContentType="video/avi" 'Case ".doc" ' ContentType="application/msword" 'Case ".zip" ' ContentType="application/zip" 'Case ".xls" ' ContentType="application/vnd.ms-excel" 'Case ".gif" ' ContentType="image/gif" 'Case ".jpg", "jpeg" ' ContentType="image/jpeg" 'Case ".wav" ' ContentType="audio/wav" 'Case ".mp3" ' ContentType="audio/mpeg3" 'Case ".mpg", "mpeg" ' ContentType="video/mpg" ``` 1. **响应缓冲区设置**: ```vb Response.Buffer=true ``` 这行代码的作用是启用响应缓冲区,确保所有输出都保存在内存中,直到整个脚本执行完毕后再发送给客户端,这样可以避免因为脚本中途出现错误而导致的不完整输出问题。 2. **创建文件系统对象**: ```vb Set oFso = Server.CreateObject("Scripting.FileSystemObject") ``` 使用`Server.CreateObject`方法创建一个`FileSystemObject`实例,该对象提供了一系列方法用于操作文件和目录。 3. **获取文件信息**: ```vb Set fn = oFso.GetFile(trueurl) flsize = fn.size flname = fn.name ``` 这里通过`GetFile`方法获取指定路径下的文件对象,并读取文件的大小和名称等信息。 4. **释放资源**: ```vb Set fn = Nothing Set oFso = Nothing ``` 释放不再使用的对象变量,有助于减少内存占用。 5. **创建流对象**: ```vb Set objStream = Server.CreateObject("ADODB.Stream") objStream.Open objStream.Type=1 objStream.LoadFromFile trueurl ``` 使用`Server.CreateObject`方法创建一个`ADODB.Stream`对象,该对象提供了读写文件的功能。这里将文件加载到流中。 6. **判断文件类型**: ```vb Select Case Right(flname, 4) '...省略具体case... ``` 根据文件扩展名判断文件类型,并设置相应的`Content-Type`响应头,这对于浏览器正确处理接收到的数据非常重要。 7. **设置响应头**: - `Content-Type`: 定义文件类型,例如`video/x-ms-asf`表示这是一个ASF视频文件。 - `Content-Disposition`: 设置为`attachment`表示提示用户保存文件,而非直接打开。 8. **发送文件数据**: 最后一步是通过`objStream`对象将文件数据发送给客户端。这通常会包含在未给出的部分代码中。 ### 四、总结 通过上述分析,我们可以看到ASP实现文件下载功能主要依赖于以下几个关键技术点: - 使用`Response.Buffer=true`来启用缓冲机制。 - 利用`FileSystemObject`和`ADODB.Stream`对象进行文件读取和处理。 - 正确设置HTTP响应头,包括`Content-Type`和`Content-Disposition`等。 以上就是ASP实现文件下载功能的核心知识点及代码解析。希望这些信息能够帮助您更好地理解和应用ASP中的文件下载技术。




















5[ 标签:asp,文件,功能 ] 需要实现从服务器下载文件的功能,点击"下载"直接弹出文件下载或者迅雷下载的窗口
最好是带详细注释的 , 修改起来比较方便 撒拿旦 回答:1 人气:11 解决时间:2010-06-09 17:33
满意答案好评率:100% <%
Response.Buffer=true
取得要下载的文件,如果不为空。就下载
dim url,trueurl
url="下载文件路径和下载文件名"
fname=Request("filename")
if fname<>"" then
trueurlurl=server.MapPath("/") &url
end if
set objFso=server.CreateObject("scripting.filesystemobject")
set fn=objFso.GetFile(trueurl)
flsize=fn.size
flname=fn.name
set fn=nothing
set objFso=nothing
set objStream=server.CreateObject("adodb.stream")
objStream.Open
objStream.Type=1
objStream.LoadFromFile url
select case lcase(right(flname,4))
case ".asf"
ContentType="video/x-ms-asf"
case ".avi"
ContentType="video/avi"
case ".doc"
case ".zip"
ContentType="application/zip"
case ".xls"
ContentType="application/vnd.ms-excel"
case ".gif"
ContentType="image/gif"
case ".jpg","jpeg"
ContentType="image/jpeg"
case ".wav"
ContentType="audio/wav"
case ".mp3"
ContentType="audio/mpeg3"
case ".mpg", "mpeg"
ContentType="video/mpeg"
case ".rtf"
ContentType="application/rtf"
case ".htm","html"
ContentType="text/html"
case ".txt"
ContentType="text/plain"
Case ".ASP", ".ASA", "ASPX", "ASAX", ".MDB"
Response.Write "受保护文件,不能下载."
Response.End
case else
ContentType="appliation/octet-stream"
end select
Response.AddHeader "Content-Disposition", "attachment; filename="&flname
Response.AddHeader "Content-Length", flsize
剩余5页未读,继续阅读

- 娜_么爱你2014-12-03如果有源代码就更棒了
- w_x2014-07-03一般,要得分太高了。
- jxwlc51072018-09-04谢谢分享 支持一下
- fastgood8882013-08-13很好可以用的,不过网上有一样的

- 粉丝: 6
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 安全风险告知书.doc
- 土压力和土坡稳定.ppt
- 济南市劳动合同法定示范本.doc
- 薄抹灰施工方案-修改版.doc
- 信号处理项目介绍 Python实现基于短时傅里叶变换STFT进行一维数据转二维图像方法的详细项目实例(含模型描述及部分示例代码)
- 第04章-二烯烃.ppt
- 住宅总承包施工合同.doc
- 基础、主体模板工程.doc
- 010-陶瓷锦砖地面.doc
- 小学塑胶运动场工程招标文件.doc
- 唐山某钢铁厂焦化工程焦台模板支撑施工方案(高5.5m).doc
- 员工离职移交确认流程操作简介.ppt
- 第二章工程经济(2).doc
- 【南昌大学】工程招投标与合同管理共111页.ppt
- 安装工程识图算量及工程造价-给排水专业.pdf
- 住宅楼入户防火防盗门制作及安装合同.doc


