标题:阳光白雪的实现文件下载怎样弄的。
取消只看楼主
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
 问题点数:0 回复次数:3 
阳光白雪的实现文件下载怎样弄的。

我下载了阳光白雪的实现文件下载函数,以下是过程,报找不到文件:
第一个文件123.htm 内容:
<a href="load.asp?filename=123.txt">1231</a>
第二个文件:
<%
'**************************************************************
'**使用方法: **
'**在点击下载处加连接<a href="load.asp?filename=文件名"></a> **
'**阳光白雪——2005年11月21日 **
'**E-mail:chenmanyi0818@126.com **
'**HomePage:http://dnjy.2000y.com **
'**************************************************************
'**************************************************
'** 实现文件下载函数 **
'**************************************************
Function Filedownload(filename)
Dim strchar,fliesend,objectFile,objfile,objStream,path,pathtype
pathtype = "application/x-msdownload"
path = server.MapPath("download/"&filename)
Const loadfilesize=32768 '32KB,也可取其它值,单位:字节
'在给path赋值后,其最终值必定是该图片在服务器端存储器上的绝对路径,如 C:\Inetpub\wwwroot\pic\help.gif
'因为 server.MapPath 取得的只是站点根目录的路径,所以在后面还应加上文件所在的文件夹再加文件名
'例如:要下载的文件 setup.exe 在根目录的 download 文件夹下,则 path = server.MapPath("download/"&filename)
'***********************************
'测试用
'response.Write(path)
'response.Write(filename)
'response.End()
'***********************************
fliesend=0
TransferFile = True
Set objectFile = Server.CreateObject("Scripting.FileSystemObject")
Set objfile = objectFile.GetFile(Path)
Set objStream = objfile.OpenAsTextStream(1,-1)
Response.AddHeader "content-type", pathtype
response.AddHeader "Content-Disposition","attachment;filename="&filename
Response.AddHeader "content-length", objfile.Size
Do While Not objStream.AtEndOfStream
strchar = objStream.Read(1)
Response.BinaryWrite(strchar)
fliesend = fliesend + 1
If (fliesend MOD loadfilesize) = 0 Then
Response.Flush
If Not Response.IsClientConnected Then
TransferFile = False
Exit Do
End If
End If
Loop
Response.Flush
If Not Response.IsClientConnected Then
TransferFile = False
end if
objStream.Close
Set objStream = Nothing
Set objectFile = Nothing
End Function
'****************************************************
'** 文件下载函数结束 **
'****************************************************
Dim fileneme,downloadfile
filename = request("filename") '此处的 filename 仅为下载文件的名称(包括扩展名)
downloadfile = Filedownload(filename) '调用文件下载函数
Response.End
%>
不知道怎样实现的,我看不懂,但我想了解

搜索更多相关主题的帖子: 白雪 阳光 文件 
2006-01-23 14:51
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
得分:0 

单独运行load.asp报
29行 Set objfile = objectFile.GetFile(Path)

Microsoft VBScript 运行时错误 错误 '800a0035'

文件未找到

/t/load.asp,行 29

2006-01-23 14:52
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
得分:0 
'***********************************
'测试用
'response.Write(path)
'response.Write(filename)
'response.End()
'***********************************
用这个能显示

2006-01-23 15:28
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
得分:0 
以上代码我改成这样的才有的结果,只用load.asp一个文件,把<a href="load.asp?filename=123.txt">1231</a>加在load.asp的最前面

'***********************************
'测试用
response.Write(path)
response.Write("<br>")
response.Write(filename)
response.End()
'***********************************
2006-01-23 15:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-43791-1-1.html




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

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