JAVA实现文件下载,浏览器端得到数据没反应

代码如下

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//得到要下载的文件名称

String filename=request.getParameter("filename");

//文件存放的路径,合成绝对路径

String dir = this.getServletContext().getRealPath("/");

String filepath=dir+"bksh"+"\\"+filename;

//得到这个文件的对象

File f=new File(filepath);

//response的编码方式为.doc下载

response.setContentType("application/msword");

//写明要下载的文件的大小

response.setContentLength((int)file.length());

//文件名

response.setHeader("Content-Disposition", "attachment; filename=" + filename);

//独处文件的IO流

FileInputStream fis=new FileInputStream(file);

BufferedInputStream buff=new BufferedInputStream(fis);

byte [] b=new byte[1024];//相当读文件的缓存

long k=0;//该值用于计算当前实际下载了多少字节

//response对象得到输出流

OutputStream myout=response.getOutputStream();

//开始循环下载

while(k

int j=buff.read(b,0,1024);

k+=j;

//将b中的数据写到客户端的内存

myout.write(b,0,j);

}

//将写入到客户端的内存的数据,刷新到磁盘

myout.flush();

firbug显示服务器已经返回了数据,但是貌似浏览器不认为它需要下载这些数据。。。

求高人解答,在线等

------解决方案--------------------

response.setCharacterEncoding("utf-8");

response.setContentType("multipart/form-data");

String downloadFileName = "";

if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) {

downloadFileName = URLEncoder.encode(fileRealName, "UTF-8");

} else {

downloadFileName = new String(fileRealName.getBytes("UTF-8"), "ISO8859-1");

}

response.setHeader("Content-disposition", "attachment; filename=" + downloadFileName);

------解决方案--------------------

似乎少了这一句:

response.setContentType("multipart/form-data");

------解决方案--------------------

response.setCharacterEncoding("utf-8");

response.setContentType((mimetype != null) ? mimetype : "application/octet-stream");

response.setContentLength(workbook.getBytes().length);

response.setHeader("Content-Disposition", "attachment;filename=" + playdate + ".xls");

------解决方案--------------------

引用:response.setCharacterEncoding("utf-8");

response.setContentType((mimetype != null) ? mimetype : "application/octet-stream");

response.setContentLength(workbook.getBytes().length);

response.setHeader("Content-Disposition", "attachment;filename=" + playdate + ".xls");

唯一的明白人是这个哥们,要下载你得告诉浏览器,而不是发了数据就完事了。

response.setHeader("Content-type", "application-download");

java安卓浏览器下载文件,JAVA实现文件下载,浏览器端得到数据没反应解决方案相关推荐

  1. Java实现FTP下载文件到客户端(浏览器)

    目录 一.简介 二.maven依赖 三.配置类 四.工具类 4.1.服务器文件名中文处理 4.2.下载文件名中文处理 五.接口验证 一.简介   我在之前的文章(Java实现文件上传和下载)里讲过非F ...

  2. 浏览器下载文件,读取BLOB字段会因为数据太大导致数据库连接connect超时关闭的解决方案...

    读取BLOB字段会因为文件字段太大导致connect连接超时关闭而不能读全的情况的解决方案 方案一: 通过委托模式(类似这种),在Controller层的请求方法中实现事务层上的读取blob并转化成流 ...

  3. springboot Java实现多文件的zip压缩操作 + 通过浏览器下载文件的两种方式

    注只适配utf-8的场景,待完善! 压缩为zip文件 通过java程序输出文件 /*** 功能:压缩多个文件成一个zip文件* @param srcfile:源文件列表* @param zipfile ...

  4. Java 浏览器下载文件及文件预览

    插曲想记录一下,以后可以来粘贴复制用 一>浏览器下载文件 setContentType() 该实体头的作用是让服务器告诉浏览器它发送的数据属于什么文件类型. 没有缓存 response.addH ...

  5. Java 多线程断点下载文件_详解

    本文转载于:http://blog.csdn.net/ibm_hoojo/article/details/6838222 基本原理:利用URLConnection获取要下载文件的长度.头部等相关信息, ...

  6. 【踩坑】Linux java中ftp下载文件,解压文件损坏,以及图片下载打开只显示下载路径的问题

    [踩坑]Linux java中ftp下载文件,解压文件损坏,以及图片下载打开只显示下载路径的问题 一. 问题重现 二. 问题解决思路 1. 确认是不是上传就导致数据出错了 2. 是不是平台问题 三. ...

  7. java ftp获取文件夹大小,java 用FTPClient 下载文件时不显示总大小?解决方案

    java 用FTPClient 下载文件时不显示总大小? FTPClient ftp = new FTPClient(); ftp.setControlEncoding("utf-8&quo ...

  8. java从url下载文件_从URL下载Java文件

    java从url下载文件 Today we will learn how to download a file from URL in java. We can use java.net.URL op ...

  9. java使用HttpGet下载文件

    前面有写过HttpPost上传文件,结果不久又遇到要用java代码去下载文件的需求:代码中的url是文件的访问地址 public static byte[] get(String url, Map&l ...

最新文章

  1. svn的代码提交到git服务器_svn服务器代码仓库,数据迁移到git仓库
  2. 基于视觉Transformer的目标检测
  3. 青春可长可短, 就看自己如何度过(亦或者如白驹过隙, 稍纵即逝 正所谓且行且珍惜)...
  4. 想象中的同居生活 VS 真实的同居生活
  5. 在64位Ubuntu上编译32位程序常见错误
  6. armadillo 库加入项目中程序卡死不运行的问题
  7. 基于JAVA+Swing+MYSQL的酒店管理系统
  8. vba有下拉框的模糊查找_巧用数据验证制作模糊匹配的下拉列表
  9. XHML教会我的一些东西-5
  10. 创维E900V22C、E900V22D_S905L3A_安卓9.0_精简卡刷通刷固件包
  11. sh计算机c盘如何管理,c盘瘦身三种方法详解
  12. word排版教程(标题设置,自动生成目录)
  13. LCA问题——倍增算法,Tarjan算法讲解
  14. Html+Css 3D旋转立方体
  15. 关于计算机维护的论文10000字,关于计算机维护的论文
  16. 我的helper模块(Python)
  17. java pdf添加页码_Java 给PDF文档添加页码
  18. OUTLOOK 邮箱发件人请求已读回执
  19. css3仿山猫侧边栏
  20. vSphere高级功能(一)——VMotion及SVMotion的实现

热门文章

  1. Apache/Tomcat/JBOSS/Nginx(2)
  2. Oracle-物化视图
  3. MRI骨水肿是早期未分化关节炎演变为RA的独立预测预测因素
  4. cisco ios命令
  5. VS2008中对.Net 3.5 sp1程序打安装包的前提系统环境的配置
  6. ThreadLocal原理解析以及是否需要调用remove方法
  7. python 编程效率_如何有效提升数据分析效率?五大Python技巧
  8. pycharm运行模型时怎么设置权重?_使用AMP和Tensor Cores得到更快速,更节省内存的PyTorch模型...
  9. [转载] Java获取泛型T的类型 T.class
  10. openstack私有云_OpenStack-下一代私有云的未来