| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 715 人关注过本帖
标题:关于文件下载
只看楼主 加入收藏
dope2008
Rank: 1
来 自:佛山高明
等 级:新手上路
帖 子:85
专家分:0
注 册:2008-7-15
结帖率:100%
收藏
 问题点数:0 回复次数:3 
关于文件下载
<%
Dim Stream
Dim Contents
Dim FileName
Dim FileExt
Const adTypeBinary = 1
FileName=Request.QueryString("FileName")
if FileName = "" Then
Response.Write "无效文件名."
Response.End
End if
' 下面是不希望下载的文件
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
Select Case UCase(FileExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
Response.Write "受保护文件,不能下载."
Response.End
End Select
' 下载这个文件

name=Mid(FileName, InStrRev(FileName, "/")+1)

Response.Clear
Response.ContentType = "application/octet-stream"
Response.AddHeader "content-disposition", "attachment; filename="&name
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
Stream.LoadFromFile Server.MapPath(FileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>

比如我想下
<a href="d.asp?FileName=q.txt">q.txt</a>

这样是对的因为q.txt 和上面的asp是同一级别的路径
但是我想下载1文件夹里的q.txt 就不行了,
<a href="d.asp?FileName=1\q.txt">q.txt</a>  出错
1这个文件夹也是和asp文个同一级别路径

在线等,等
搜索更多相关主题的帖子: 文件 
2008-07-30 12:25
dope2008
Rank: 1
来 自:佛山高明
等 级:新手上路
帖 子:85
专家分:0
注 册:2008-7-15
收藏
得分:0 
文件名中间有空间也不能下载
2008-08-01 16:22
tianyu123
Rank: 1
等 级:新手上路
威 望:2
帖 子:576
专家分:0
注 册:2007-8-26
收藏
得分:0 
<a href="d.asp?FileName=1\q.txt">q.txt</a> 这个好象也行

应该为 <a href="d.asp?FileName=1/q.txt">q.txt</a>

"文件名中间有空间也不能下载"

文件名中间有空格,那你下载的文件是不是文件名确实也有空格呢?

改变一切,须从改变观念开始!
2008-08-01 19:12
dope2008
Rank: 1
来 自:佛山高明
等 级:新手上路
帖 子:85
专家分:0
注 册:2008-7-15
收藏
得分:0 
也有是空格的,,比如说
123 456.txt
中间有个空格的.
2008-08-01 20:41
快速回复:关于文件下载
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022726 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved