Java代码  
  1. OutputStream out=response.getOutputStream();
  2. byte by[]=new byte[500];
  3. File fileLoad=new File(path);
  4. response.reset();
  5. response.setContentType("application/vnd.ms-excel");
  6. response.setHeader("content-disposition","attachment; filename=text.xls");
  7. long fileLength=fileLoad.length();
  8. String length1=String.valueOf(fileLength);
  9. response.setHeader("Content_Length",length1);
  10. FileInputStream in=new FileInputStream(fileLoad);
  11. int n;
  12. while((n=in.read(by))!=-1){
  13. out.write(by,0,n);
  14. }
  15. in.close();
  16. out.flush();

以上代码以下载excel为例,各种文件的下载大体相同只需改变相应的contentType即可。
其中response.setContentType()的String参数及对应类型为

Java代码 BMP

GIF JPEG TIFF DCX PCX HTML TXT XML AFP PDF RTF MSWORD MSEXCEL MSPOWERPOINT WORDPERFECT WORDPRO VISIO FRAMEMAKER LOTUS123" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> 

  1. <option   value="image/bmp">BMP</option>
  2. <option   value="image/gif">GIF</option>
  3. <option   value="image/jpeg">JPEG</option>
  4. <option   value="image/tiff">TIFF</option>
  5. <option   value="image/x-dcx">DCX</option>
  6. <option   value="image/x-pcx">PCX</option>
  7. <option   value="text/html">HTML</option>
  8. <option   value="text/plain">TXT</option>
  9. <option   value="text/xml">XML</option>
  10. <option   value="application/afp">AFP</option>
  11. <option   value="application/pdf">PDF</option>
  12. <option   value="application/rtf">RTF</option>
  13. <option   value="application/msword">MSWORD</option>
  14. <option   value="application/vnd.ms-excel">MSEXCEL</option>
  15. <option   value="application/vnd.ms-powerpoint">MSPOWERPOINT</option>
  16. <option   value="application/wordperfect5.1">WORDPERFECT</option>
  17. <option   value="application/vnd.lotus-wordpro">WORDPRO</option>
  18. <option   value="application/vnd.visio">VISIO</option>
  19. <option   value="application/vnd.framemaker">FRAMEMAKER</option>
  20. <option   value="application/vnd.lotus-1-2-3">LOTUS123</option>

jsp实现文件下载的代码(转载)的更多相关文章

  1. Weblogic环境(JSP)文件下载问题(下载的文件与原文件大小不一致问题)

    最近发现一个问题有个download.jsp文件下载jsp在Tomcat下正常,在Weblogic下不太正常! Weblogic下载的文件比原文件大两个字节,查看文件像是文件内容最后多了空行 检查do ...

  2. j2ee,jsp,servlet文件下载server端

    1.getOutputStream() has already been called for this response 报错的原因: 使用tomcat容器调用response.getOutputS ...

  3. eclipse调试jsp中的scriptlet代码

    在eclipse开发环境下,jsp中的scriptlet代码,也就是<%%>中的java代码,跟普通的java代码一样可以打断点单步调试的! 做个笔记,免得自己忘了!

  4. JSP中嵌入java代码方式以及指令

    JSP中嵌入java代码的三种方式: (1)声明变量或方法 :  <%! 声明; %> :慎重使用,因为此方法定义的是全局变量 (2)java片段(scriptlet):  <% j ...

  5. opencv2 矩阵方式 resize图像缩放代码(转载)

    http://blog.sina.com.cn/s/blog_74a459380101r0yx.html opencv2 矩阵方式 resize图像缩放代码(转载) (2014-05-16 09:55 ...

  6. EL和 JSTL? 在JSP中简化 java代码的写法!

    一.servlet部分 package com.aaa.servlet; import com.aaa.dao.IStudentDAO; import com.aaa.dao.Impl.Student ...

  7. jsp页面的html代码显示不出来,提示Uncaught SyntaxError: Unexpected token <

    jsp页面的html代码显示不出来,提示Uncaught SyntaxError: Unexpected token < <input type="hidden" na ...

  8. JSP中的Java代码和内置对象

    一.JSP中的Java代码 (一)JSP页面中有三种方式嵌入java代码: 1.java的表达式 格式:<%= java表达式 %> 2.java的语句 格式:<% java语句&g ...

  9. 如何在 js 代码中使用 jsp 标签或 Java 代码

    JSP 标签还是很方便的,比如 Struts.Spring 等提供给我们的 JSP 标签,可以用它们来获取变量或进行一些计算.比如 struts2 的 <s:url value="/a ...

随机推荐

  1. 十个jQuery图片画廊插件推荐

    jQuery的画廊插件可以将分组图像和多媒体资料转成类似Flash的图像或照片.当幻灯片已经成为网站的重要组成部分,jQuery的重要性不能被忽视.下面为你介绍了10个最有美感,创新性和创造性的jQu ...

  2. HTTP/1.1 学习

    发现对于HTTP协议不能脱口而出,故而怒翻资料,RFC2616 . 在其abstract中是这么说HTTP的,应用层协议,generic.无状态.其特点之一是 the typing and negot ...

  3. static、extern分析

    1.extern extern在变量声明中有这样一个作用:你要在demo2.cpp中引用demo1.cpp中的一个全局变量,就要在demo2.h中用extern来声明这个全局变量(或者在demo1.h ...

  4. 下面属于javascript对象的有:( )

    下面属于javascript对象的有:( ) A. Window B. Document C. Form D. String E. Navigator 解答:ACE

  5. (转)分析kernel的initcall函数

      分析kernel的initcall函数   来源: ChinaUnix博客 日期: 2008.07.19 21:24 (共有条评论) 我要评论   分析kernel的initcall函数Autho ...

  6. 转载:mysql 操作总结 INSERT和REPLACE

    转自:http://www.jb51.net/article/19411.htm   用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做 ...

  7. informatica中的workflow连接远程数据库

    如果是远程oracle这样写 名称随便起,方便自己记住,后面用户名密码你都知道,再加上数据库的地址:端口/SID就可以了. 如10.33.2.208:1521/torcl

  8. HBase学习之深入理解Memstore-6

      MemStore是HBase非常重要的组成部分,深入理解MemStore的运行机制.工作原理.相关配置,对HBase集群管理以及性能调优有非常重要的帮助. HBase Memstore 首先通过简 ...

  9. c++ 类数据成员的定义、声明

    C++为类中提供类成员的初始化列表类对象的构造顺序是这样的:1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员2.进入构造函数后在构造函数中执行一般计算  1.类里面的任何成员变量在定义时是不 ...

  10. 如何创建 SVN 服务器,并搭建自己的 SVN 仓库

    SVN是一个广泛使用的版本控制系统,在日常工作中有广泛的应用空间,比如文档管理,我们就可以搭建一个 SVN 仓库,日常需要归类保存的文档统统上传到仓库中,那如何创建 SVN 服务器, 又如何搭建 SV ...