| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 899 人关注过本帖
标题:文件下载
只看楼主 加入收藏
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 
昨天熬到一点,终于给搞定了,爽啊!!!!!!

<%
'**************************************************************
'**使用方法:
'**在点击下载处加连接<a href="load.asp?filename=文件名"></a>
'**阳光白雪——2005年11月21日
'**E-mail:chenmanyi0818@126.com
'**HomePage:http://www.ec2002.com
'**************************************************************
'**************************************************
'** 实现文件下载函数 **
'**************************************************
Function Filedownload(filename)
Dim strchar,fliesend,objectFile,objfile,objStream,path,pathtype
pathtype = "application/x-msdownload"
path = server.MapPath(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
%>

专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2005-11-22 09:25
wxhwxh
Rank: 1
等 级:新手上路
帖 子:139
专家分:0
注 册:2005-11-19
收藏
得分:0 

哇,你的这种精神太值得我学习了,我终于明白你们为什么会成为高手了,我一定要向你学习!


感谢曾经帮助过我和将要帮助我的人,我也会无私的帮助需要而且我能够帮助的人!
2005-11-22 09:46
small2006
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-10-1
收藏
得分:0 
我是ASP新手,在做文件下载功能的时候遇到点问题,各位大侠帮帮我.
我用ASP,IIS,VBScript做了个校园网,在做下载功能的时候,要下载的资料在本地可以下载,可是传到服务器上就出现"文件格式不正确的"错误提示,文件的地址是正确的,
我把要下载的文件放在了download文件夹里,网站的文件地址是http://www.shool.edu.cn/download/2006324650.rar.
一定要用函数实现吗,能用VBScript实现吗?能写段详细代码给我吗
2006-10-01 15:19
快速回复:文件下载
数据加载中...
 
   



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

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