JSP下载txt 和 Excel两种文件

jsp 下载txt文件和excel文件

 

最近做了个用jsp下载的页面 将代码贴出来 权作记录吧

1 下载txt文件 

这个花了我不少时间 原因是用ie下载txt文件时是在页面中直接打开了文件.虽然查了一些资料,也看了别人的解决方案,可还是解决不了问题,最后发现是一个字母惹的祸:少写一个字母 嘿嘿 够马虎!!!

代码如下:

OutputStream o=response.getOutputStream();
   byte b[]=new byte[500];
   File fileLoad=new File("e:/test.txt");
    response.setContentType("application/octet-stream");

response.setHeader("content-disposition","attachment; filename=text.txt");
   long fileLength=fileLoad.length();
   String length1=String.valueOf(fileLength);
   response.setHeader("Content_Length",length1);
   FileInputStream in=new FileInputStream(fileLoad);
   int n;
   while((n=in.read(b))!=-1){
    o.write(b,0,n);
   }
  
   in.close();
   out.clear();
   out = pageContext.pushBody();

2 下载excel文件 

跟下载txt文件时的唯一区别是ContentType值的设置不同:

OutputStream o=response.getOutputStream();
   byte b[]=new byte[500];
   File fileLoad=new File("e:/text.xls");
   response.reset();

response.setContentType("application/vnd.ms-excel");

response.setHeader("content-disposition","attachment; filename=text.xls");
   long fileLength=fileLoad.length();
   String length1=String.valueOf(fileLength);
   response.setHeader("Content_Length",length1);
   FileInputStream in=new FileInputStream(fileLoad);
   int n;
   while((n=in.read(b))!=-1){
    o.write(b,0,n);
   }
  
   in.close();
   out.clear();
   out = pageContext.pushBody();

这两个本来是放在一起的,因为我的页面中需要判断是下载的txt文件还是xls文件  在这里给分开了 需要注意的是,最后两句一定要加上,否则会出现getOutputStream()错误的!!!!

JSP下载txt 和 Excel两种文件的更多相关文章

  1. JSP错误页面处理的两种方式

    JSP错误页面处理的两种方式: 方法1(真能针对单一页面生效,不推荐): 出错页面实例 <%@ page language="java" contentType=" ...

  2. 【转】在Android Studio中下载Android SDK的两种方式(Android Studio3.0、windows)

    在Android Studio中下载Android SDK的两种方式(Android Studio3.0.windows) 方式一.设置HTTP Proxy1. 打开Settings2. 点击HTTP ...

  3. Android学习—下载Android SDK的两种方式

    在Android Studio中下载Android SDK的两种方式 Android studio下载地址:http://www.android-studio.org/ 方式一.设置HTTP Prox ...

  4. PHP输出Excel两种方法

    2016年3月23日 16:43:51 星期三 第一种: 输出html+css格式, 打开后用Excel软件的"另存为"功能保存为正规的表格格式 public function e ...

  5. delphi 读取excel 两种方法

    http://www.cnblogs.com/ywangzi/archive/2012/09/27/2705894.html 两种方法,一是用ADO连接,问题是Excel文件内容要规则,二是用OLE打 ...

  6. Object-c:两种文件读写的对比

    一.读写方法对比:(主要针对本地读取本地文件) 方式\操作 读 写 非URL方式 stringWithContentsOfFile writeToFile URL方式 stringWithConten ...

  7. 基于python的selenium两种文件上传操作

    方法一.input标签上传     如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径,这里不做过多赘述,前文有相关操作方法. 方法二.非input标签上传 这种上传方 ...

  8. JSP中的include的两种用法

    1.两种用法 <%@ include file=” ”%> <jsp:include page=” ” flush=”true”/> 2.用法区别 (1)执行时间上区别 < ...

  9. Spring Boot + Vue 前后端分离,两种文件上传方式总结

    在Vue.js 中,如果网络请求使用 axios ,并且使用了 ElementUI 库,那么一般来说,文件上传有两种不同的实现方案: 通过 Ajax 实现文件上传 通过 ElementUI 里边的 U ...

随机推荐

  1. 项目中用到的js日期函数

    <script type="text/javascript">    //替换字符串      function Replace(str, from, to) {    ...

  2. Dreamweaver 8

    Dreamweaver 8 附注册码:WPD800-56030-83832-97910

  3. IOS 8 关于 Touch ID

    一.什么是Touch ID? Touch ID是在iPhone 5s后的设备上出现的指纹识别.Apple在IOS 8中开放给第三方APP使用. 可以使用 Touch ID 来验证用户的身份,用户经验证 ...

  4. spring--注入类型--构造方法(不常用)

    3.3.1.1. Constructor Injection Constructor-based DI is effected by invoking a constructor with a num ...

  5. Android 动态Tab分页效果实现

    当前项目使用的是TabHost+Activity进行分页,目前要做个报表功能,需要在一个Tab页内进行Activity的切换.比方说我有4个Tab页分别为Tab1,Tab2,Tab3,Tab4,现在的 ...

  6. 【BZOJ】【1025】【SCOI2009】游戏

    DP/整数拆分 整个映射关系可以分解成几个循环(置换群的预备知识?),那么总行数就等于各个循环长度的最小公倍数+1(因为有个第一行的1~N).那么有多少种可能的排数就等于问有多少种可能的最小公倍数. ...

  7. idea新建项目完整过程

    参看下面博客 http://www.cnblogs.com/cnjava/archive/2013/01/29/2881654.html 突然,感觉idea其实挺麻烦的: 一.junit test做起 ...

  8. WebService流行框架之Axis和CXF

    转自:http://www.cnblogs.com/snake-hand/archive/2013/06/09/3129915.html 前言 上节课我们对WebService进行了简单的介绍,对于其 ...

  9. 【转载】MySQL索引原理及慢查询优化

    原文链接:美团点评技术团队:http://tech.meituan.com/mysql-index.html MySQL凭借着出色的性能.低廉的成本.丰富的资源,已经成为绝大多数互联网公司的首选关系型 ...

  10. java输出流实现文件下载

    //导出Excel try { HSSFWorkbook wb = carService.export(list); //调用service方法~! response.setContentType(& ...