双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

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

Uncloseable Uncloseable 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
代码如下

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<file.length()){

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

//将b中的数据写到客户端的内存
myout.write(b,0,j);

}

//将写入到客户端的内存的数据,刷新到磁盘
myout.flush();

firbug显示服务器已经返回了数据,但是貌似浏览器不认为它需要下载这些数据。。。
求高人解答,在线等
...全文

相关推荐

Java实现文件点击没反应的方法

jsp页面链接,点击访问action用IO流去下载服务器上的文件,问题是任凭怎么点击都没反应,日志也不报错。这篇文章给大家介绍Java实现文件点击没反应的方法,需要的朋友参考下吧

weixin_38507208

双击PyCharm后就没反应了打不开,怎么办?

双击PyCharm后就没反应了打不开,怎么办? 今天分享一下,新手安装pycharm。 我是新手今天才开始使用这个软件,刚开始下载了python安装后,在安装这个软件,安装之后发现一只打不开,双击没反应,百度了一下,大家好像都是千篇一律复制的一样,说什么路径问题怎么改pycharm.exe.vmoptions和pycharm64.exe.vmoptions。 通过个人摸索 感觉不是这个问题就没有设置。后来百度到一个文章说的重点问题1.pycharm需要在JDK环境下运行。那么对于新手来说根本不知道什么是JDK,我已经百度过,就是JAVA这个软件。所以需要下载这个软件并安装,安装需要设置环境变量

weixin_38693506

基于Java NIO反应器模式设计与实现

Java NIO反应器模式讲解,目前热门的Java网络通信框架中Mina,Netty等都采用NIO

scuhyh

基于maven install 没反应的解决方法

下面小编就为大家带来一篇基于maven install 没反应的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

weixin_38520275

Java Reactor反应器模式使用方法详解

主要介绍了Java Reactor反应器模式使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

weixin_38509504
评论 14
收藏 已收藏
分享
返回顶部
Uncloseable
Web 开发 81,108 成员 341,721 内容