标题:用ASP实现文件下载
只看楼主
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:17
雷雷
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-10-1
得分:0 
以下是引用icecool在2006-4-24 13:02:00的发言:
  看完楼主的帖子,我的心情竟是久久不能平复,正如老子所云:大音希声,大象希形。我现在终于明白我缺乏的是什么了,正是楼主那种对真理的执着追求和楼主那种对理想的艰苦实践所产生的厚重感。面对楼主的帖子,我震惊得几乎不能动弹了,楼主那种裂纸欲出的大手笔,竟使我忍不住一次次的翻开楼主的帖子,每看一次,赞赏之情就激长数分,我总在想,是否有神灵活在它灵秀的外表下,以至能使人三月不知肉味,使人有余音穿梁,三日不绝的感受。楼主,你写得实在是太好了。我唯一能做的,就只有把这个帖子顶上去这件事了

看完你写的文字,满身的鸡皮疙瘩……


我就是我,走猪的路,让猫狗们去说吧…… Http://www./
2006-10-04 15:24
土豆ai冬瓜
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-12-15
得分:0 
loading..我看你适合 搞文学
2007-02-03 16:20
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
得分:0 
学习一下

http://www./
2007-02-03 17:59
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
得分:0 
今天超无聊,把阳光白雪的函数做了小小的改进,
其实那个路径问题,在写文件名的时候直接写上去也可以,
但是文件下载的时候就会有点小问题
具体的就是:文件名:load 文件类型:未知;
加上一个filepath就可以解决.


<%
'**************************************************************
'**使用方法: **
'**在点击下载处加连接<a href="load.asp?filepath=文件路径&filename=文件名"></a> **
'**阳光白雪——2005年11月21日 **
'**E-mail:chenmanyi0818@126.com **
'**HomePage:http://www.ec2002.com ; **
'**************************************************************
'**修改:hangxj——2007年02月07日 **
'**E-mail:121sun@163.com **
'**HomePage:http://www.hangxj.com ; **
'**************************************************
'** 实现文件下载函数 **
'**************************************************
Function Filedownload(filepath,filename)
Dim strchar,fliesend,objectFile,objfile,objStream,path,pathtype
pathtype = "application/x-msdownload"
path = server.MapPath(filepath&filename)
Const loadfilesize=32768 '32KB,也可取其它值,单位:字节

'***********************************
'测试用
'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 filepath,fileneme,downloadfile
filepath = request("filepath") '下载文件的相对路径
filename = request("filename") '此处的 filename 仅为下载文件的名称(包括扩展名)
downloadfile = Filedownload(filepath,filename) '调用文件下载函数
Response.End
%>

http://www./
2007-02-07 17:02
绿野微风
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-4-4
得分:0 
不明白,下载文件嘛,搞个链接指向这文件不就OK了?
2007-04-04 20:49
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
得分:0 
以下是引用绿野微风在2007-4-4 20:49:00的发言:
不明白,下载文件嘛,搞个链接指向这文件不就OK了?

对于浏览器不支持的文件是可以,但是对于那些能直接通过浏览器打开的,像图片,FLASH动画等,这个就比较方便,不需要用右件“另存为”来保存了


专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2007-04-05 08:13
yunxiang2005
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-3-29
得分:0 
up......
2007-04-05 20:46
kyle_mao
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-2-2
得分:0 
大一点的附件就不行,下载不了,为什么?
2012-02-27 10:43



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




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

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