【如何在静态页面中实现下载提示】
我做了一个静态页面,中间有一些链接是直接连接到一些比如Word文件,PDF文件的。如http://www.163.com/csdn.doc 我想问的是如何能够让用户左击链接就弹出一个下载这个文件的提示框出现呢,能不能加一段JS代码来实现呢?请说详细点,我对JS不太熟悉。先谢谢各位了,呵呵~~~ 问题点数:20、回复次数:9Top
1 楼hbhbhbhbhb1021(天外水火(我要多努力))回复于 2006-03-01 17:30:28 得分 2
这个最好用服务器端语言。
asp,jsp,php
把contenttype改成相应的文件流typeTop
2 楼netpotRL(←≮华丽的括号≯→)┅┅(JAVA精神BEAN) (五车,又见五车)回复于 2006-03-06 19:55:39 得分 0
JS不是万能的 !!
但没有JS是万万不能的~~~Top
3 楼victor26(漂流纸船)回复于 2006-03-10 16:05:27 得分 0
先说个关键问题,这个功能基本上是不行的,因为Word文件,PDF文件都会直接在ie中打开,不会出现下载提示框:)Top
4 楼zqj2001120(阿星→虚心学习)回复于 2006-03-14 13:58:03 得分 0
就是因为这些文件会直接打开,所以我才想知道是否能通过代码来实现下载提示的出现呢?Top
5 楼victor26(漂流纸船)回复于 2006-03-14 14:21:13 得分 2
可以是可以,一般都是通过文件的传输流来做的,所以在静态页面中应该是不行的。
服务器端语言没有问题。Top
6 楼zqj2001120(阿星→虚心学习)回复于 2006-03-15 09:51:39 得分 0
可以告诉我具体的实现方法吗?服务器端语言也可以Top
7 楼kjeny2002(小杭)回复于 2006-03-15 14:41:03 得分 2
在服务端输出文件流。
Top
8 楼zqj2001120(阿星→虚心学习)回复于 2006-03-16 14:51:36 得分 0
在服务器端如何输出文件流?可否说清楚一点??Top
9 楼yurongsheng(中国国脚)回复于 2006-03-28 12:09:38 得分 14
Response.Clear
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
Response.ContentType = "image/*" '对图像文件不出现下载对话框
else
Response.ContentType = "application/ms-download"
end if
Response.AddHeader "content-disposition", "attachment; filename=" & GetFileName(Request.QueryString("FileName"))
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
if lcase(right(FileName,3))="pdf" then '设置pdf类型文件目录
TrueFileName = "/the_pdf_file_s/"&FileName
end if
if lcase(right(FileName,3))="doc" then '设置DOC类型文件目录
TrueFileName = "/my_D_O_C_file/"&FileName
end if
if lcase(right(FileName,3))="gif" or lcase(right(FileName,3))="jpg" or lcase(right(FileName,3))="png" then
TrueFileName = "/all_images_/"&FileName '设置图像文件目录
end if
Stream.LoadFromFile Server.MapPath(TrueFileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
Top




