| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 520 人关注过本帖
标题:[求助]关于下载过大文件出错一问
只看楼主 加入收藏
peclhl
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-3-4
收藏
 问题点数:0 回复次数:4 
[求助]关于下载过大文件出错一问

为了防止盗链、有效控制下载权限和隐藏下载路径,我在网上搜到了下面的代码(已经精简):

下载界面页:
<%Response.Buffer = true%>
<HTML>
<HEAD>
</HEAD>
<%
Dim x
Response.Write "下载地址:<br><br>"
Randomize
x = int(rnd()*1000)
Response.Write "<a href='download.asp?id=" & 1*x & "'>文件名称.doc</a>"
'这里只是简单的运算,呵呵,这已经足够了。
Response.Cookies("secret") = x
%>
</BODY>
</HTML>


下载处理页面:
<%
Dim secret, id
Response.Buffer = true
if Request.cookies("secret") = "" then Response.End
if not Isnumeric(request.cookies("secret")) then Response.End
'这里对传递过来的值没有多加判断,只是为了节省篇幅
secret = clng(Request.Cookies("secret"))
id = clng(Request.QueryString("id"))
if id/secret = 1 then
Response.AddHeader "content-type","application/x-msdownload"
Response.AddHeader "Content-Disposition","attachment;filename=文件名称.doc"
Server.Transfer "upload/文件名称.doc"
else
Response.Write "Error!"
end if
%>

结果测试,当下载文件超过1M左右就没有反应了
xp2 IIS5.1 IE6

搜索更多相关主题的帖子: Response 文件 secret 
2007-03-04 23:23
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

楼主文件存在哪里?数据库,还是服务器上?

2007-03-05 09:28
peclhl
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-3-4
收藏
得分:0 
文件放在服务器上upload文件夹下
没有涉及到数据库

Myblog → 今生唯一 (情侣博客)
2007-03-05 10:03
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 

没有加On Error Resume Next语句吧?

2007-03-05 10:14
peclhl
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-3-4
收藏
得分:0 
加了也不行,我刚试过了

Myblog → 今生唯一 (情侣博客)
2007-03-05 10:28
快速回复:[求助]关于下载过大文件出错一问
数据加载中...
 
   



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

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