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. mysql 慢查询开启

    相关博客: linux下开启mysql慢查询,分析查询语句 开启方法: 方法一:使用命令开启慢查询开启 mysql> show variables like "%long%" ...

  2. 转载:Comet:基于 HTTP 长连接的“服务器推”技术

    转自:http://www.ibm.com/developerworks/cn/web/wa-lo-comet/ 很多应用譬如监控.即时通信.即时报价系统都需要将后台发生的变化实时传送到客户端而无须客 ...

  3. mysql 存储过程 -- 游标的使用(备忘)

    BEGIN ; DECLARE f_ratio FLOAT DEFAULT 0.8; ); ); DECLARE i_statDate DATE; DECLARE i_accumulateCount ...

  4. 17、android设备如何防止屏幕休眠(转载)

    当你需要你的设备需要长期运行时,由于移动设备为了延长电池续航时间,在运行15s-30mins后(用户可自由设置),如果用户在此时间段内没有操作,系统将进入休眠状态并 将屏幕锁上,所以在需要长期运行时, ...

  5. OOP-ECMAScript - 深入理解Javascript

    一.面向对象概论 x = {a: 10}; y = {b: 20}; y.Prototype = x z = {c: 30}; z.Prototype = y; z.a; x.a = 100; z.a ...

  6. 1564: [NOI2009]二叉查找树 - BZOJ

    Description Input Output只有一个数字,即你所能得到的整棵树的访问代价与额外修改代价之和的最小值.Sample Input4 101 2 3 41 2 3 41 2 3 4Sam ...

  7. 03.Hibernate一对多关联

    前言:在域模型中,类与类之间最普遍的关系就是关联关系,在UML语言中关联关系是有方向的.在数据库中表与表之间也会有关联关系,本节介绍通过Hibernate映射一对多的关联关系,这是一种最普遍的关联关系 ...

  8. 设计模式之享元模式(FlyWeight)

    #include <iostream> #include <string> #include <list> #include <vector> usin ...

  9. Core Data数据库迁移

    一. Lightweight Migration i. 适合场景 Simple addition of a new attribute Removal of an attribute A non-op ...

  10. HDU1048The Hardest Problem Ever

    The Hardest Problem Ever Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & ...