开发者社区> 问答> 正文

java文件下载问题

点击一个连接如(下载)实现文件的下载,要求点击连接后弹出一个下载保存框,那么如何实现弹出保存对话框呢,又如何将文件名和保存的文件路径传到Action里呢。

展开
收起
蛮大人123 2016-02-21 11:20:33 2104 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    代码:

    String filename = file.getName();
     HttpServletResponse response=this.getResponse();
     response.addHeader("Content-Disposition", "attachment;filename="
     + URLEncoder.encode(filename, "UTF-8"));
     response.addHeader("Content-Length", "" + file.length());
    
     response.setContentType("application/zip;charset=utf-8");
    
     InputStream in = new FileInputStream(file);
     byte[] buf=new byte[1024];
     ServletOutputStream out=response.getOutputStream();
     int len=0;
     while((len=in.read(buf))!=-1){
     out.write(buf, 0, len);
     }
     in.close();
     out.flush();
     out.close(); 

    直接访问这个方法路径就会弹出下载了。
    如果是ajax方式请求,可通过JS调用方法路径:document.location.href=downloadUrl;//浏览器弹出下载,downloadUrl为上面的方法访问路径。

    2019-07-17 18:45:49
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载