可是很多网上的下载好像并不是这样的,他们是怎么弄的呢?
打开下载页面的时候看到地址栏里的地址都会跟上很多参数,不知道是什么意思。
小弟想实现这么一种功能:点击下载之后数据库中的记录下载次数的值加一。但是要防刷新一次数据库的值也加一。
谢谢各位指教
这是我的下载通用代码!你去参考一下!
思路:
首先判断传递的ID的合法性,然后在根据ID号去查找文件名,通过文件名再用FSO去判断文件是否存在,若存在就response.Redirect "url" 过去,如果不存在就说不存在。
<!--#include file="conn.asp"-->
<%
id=request.QueryString("id")
if id="" or not IsNumeric(id) then
response.Write"<script language=javascript>alert('非法操作!');window.close();</script>"
response.End()
end if
set rs=server.CreateObject("adodb.recordset")
sql="select * from news where id="&id
rs.open sql,conn,1,3
if rs.eof or rs.bof then
response.Write"<script language=javascript>alert('文件已经被删除!');window.close();</script>"
else
'========查找文件是否存在============
set fso = server.CreateObject("Scripting.FileSystemObject")
folderPath = server.MapPath("pic/"&rs("pic")&"")
'if not fso.FolderExists(folderPath) then
if not fso.FileExists(folderPath) then
'fso.CreateFolder(folderPath)
'response.Write("没有找到文件!")
response.Write"<script language=javascript>alert('文件已经被删除!');window.close();</script>"
else
'Set fl=fso.getfile(folderPath)
'flsize=fl.size
'response.Write("找到了文件!"&"<br>")
'response.Write(FormatNumber((flsize/1024)/1024,1)&"MB")
'FormatNumber(MySecant,4)
response.Redirect("pic/"&rs("pic")&"")
end if
set fso = nothing
set folderPath=nothing
'========查找文件是否存在============
end if
%>
[此贴子已经被作者于2007-5-8 11:43:44编辑过]