收录日期:2020/10/30 23:55:50 时间:2016/07/16 15:33:56 标签:ASP
下面的代码是用asp来下载exe文件的,和直接下载exe的区别就是他保存的文件名是获取浏览器ID生成的。代码正常使用,但是我希望能把FileName改成物理路径,格式是:d:/web/down/a.exe 小弟菜菜,高手帮忙。
(另:我觉得代码有点臃肿,能帮我写个简单的吗?)
ID = Request.QueryString("ID")
Dim Stream
Dim Contents
Dim FileName
Dim FileNames
Dim FileExt
Const adTypeBinary = 1
FileName = "av_play.exe" '要下载的文件名 集成到程序里请自己用函数实现
ok=1  '设置保存文件的方式 0为默认名字 1为下面设置的名字
if ok=1 then 
FileNames = ""&id&".exe"  '要保存的文件名(当保存方式为0时,此设置无效)
else
FileNames = FileName
end if
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
Select Case UCase(FileExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
Response.Write "受保护文件,不能下载."
Response.End
End Select
' 下载这个文件
Response.Clear
Response.ContentType = "application/octet-stream"
Response.AddHeader "content-disposition", "attachment; filename="&filenames&""
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
Stream.LoadFromFile Server.MapPath(FileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End


<%

ID = Request.QueryString("ID")
Dim Stream,Contents,FileName,FileNames,FileExt, p, file
FileName = "d:/web/down/a.exe" '要下载的文件名 集成到程序里请自己用函数实现
FileName = Replace(FileName,"/","\")
p = InStrRev(FileName,"\")
file = Right(FileName, Len(FileName)-p)
ok=1  '设置保存文件的方式 0为默认名字 1为下面设置的名字
if ok=1 Then
  FileNames = id & ".exe"  '要保存的文件名(当保存方式为0时,此设置无效)
Else
  FileNames = file
end if
FileExt = Mid(file, InStrRev(file, ".") + 1)
Select Case UCase(FileExt)
  Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
  Response.Write "受保护文件,不能下载."
  Response.End
End Select
' 下载这个文件
Response.Clear
Response.ContentType = "application/octet-stream"
Response.AddHeader "content-disposition", "attachment; filename=" & filenames
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = 1
Stream.Open
Stream.LoadFromFile FileName
While Not Stream.EOS
  Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End


%>
同意一楼的,顶
非常感谢 虽然分不多 每次都是你帮我 谢谢

javascript中如何取子串! 咨询广州太平洋电脑城门牌? 到哪能找到有中英文对照的计算机英语的文章?急!!!!!!! 急急……………… javascript中如何取子串! 求助(登陆问题) 请教学习VC入门的书有那些? 如何取子串! 在vc++.net里面如何引用opengl函数库?请高手指教!! 请问由CFileDlg类产生的对话框,其中如何使文件“查找范围”初始时在“网络邻居”上?有什么办法?谢谢! 请问Linux下C++编程的初级问题: varchar 与nvarchar 的区别? 请问由CFileDialog类产生的对话框,其中如何使文件“查找范围”初始时在“网络邻居”上?有什么办法?谢谢! 这样从存储过程得到返回值???????? 哪位大哥能告诉我? 请问由CFileDialog类产生的对话框,其中如何使文件“查找范围”初始时在“网络邻居”上?有什么办法?谢谢! 菜单问题(100分) pb的部分工具不可能用的问题`~~~~~~很急`~~~请各位朋友帮忙~~~~ 读出2色(只有黑白)bmp文件数据,转换为文本,出200分,在线等待 双链表插入问题 请教各位大大一个初级问题 提示不能创建对象 linux7.3 sybase12.5 内存3G 配置的问题? 我想找一些JBUILDER的实例教程,哪位前辈提供一下,一定重谢 送高分!求门诊收费VB源码(有打印发票和简单的财务功能即可)! 程序中使用了相对路径,但在文件菜单中打开了不是应用程序当前路径下的文件后,当前路径就改了.请问如何让其不改? 请问一个非计算机专业本科生,过了国家三级B类,如果每天看4小时的书,要看好久才可能通过高程,请有经验的朋友指点一下 请大家来呀,关于病毒的! 当然了这个页面是没有病毒的! 亿唐网正垃圾, 查询英语成绩还要收费, 发了两条短信, 居然没有回应. 现在我都不知怎样才能查自己的英语英绩? 想通过电信机房的服务器代理看rtsp的电影。应该在上面装什么代理软件好呢???