CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

【如何在静态页面中实现下载提示】

楼主zqj2001120(阿星→虚心学习)2006-03-01 16:38:05 在 Web 开发 / JavaScript 提问

我做了一个静态页面,中间有一些链接是直接连接到一些比如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

相关问题

  • 【如何在静态页面中实现下载提示】
  • 【如何在静态页面中实现下载提示】
  • 【如何在静态页面中实现下载提示】
  • 为什么我的登录页面提交到一个Login.jsp页面时,总是提示我下载Login.jsp???
  • 求静态页面输出!
  • 动态页面转成静态页面
  • 如何获得当一个静态页面从开始到下载完毕所需的时间?急!
  • 为何将一段静态脚本(调用ActiveX控件)改为动态后,页面提示错误:Automation 服务器不能创建对象?
  • 100分求教高手:为什么SKIN页面中引用了外部的静态变量,每次打开SKIN文件时总提示:
  • 为什么我的asp页面浏览的时候有时会提示我下载asp文件呢?

关键词

  • 文件
  • 页面
  • 下载
  • 服务器
  • 语言
  • js
  • lcase
  • truefilename
  • 静态页面
  • filename

得分解答快速导航

  • 帖主:zqj2001120
  • hbhbhbhbhb1021
  • victor26
  • kjeny2002
  • yurongsheng

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo