java下载文件_java下载文件到本地[通俗易懂]

java下载文件_java下载文件到本地[通俗易懂]//获取文件路径并创建一个出入流StringfilePath=”文件实际路径”;FileInputStreamfis=newFileInputStream(filePath);//创建输出流,向客户端输出数据ServletOutputStreamsos=response.getOutputStream();//获取文件名StringfileName=filePath.subs…

大家好,又见面了,我是你们的朋友全栈君。

//获取文件路径并创建一个出入流

String filePath=”文件实际路径”;

FileInputStream fis = new FileInputStream(filePath);

//创建输出流,向客户端输出数据

ServletOutputStream sos = response.getOutputStream();

//获取文件名

String fileName = filePath.substring(filePath.lastIndexOf(‘\\’) + 1);

//文件名转码

fileName = URLEncoder.encode(fileName, “UTF-8”);

//告诉客户端以什么解码方式打开文件

//response.setContentType(“UTF-8”);

//告诉客户端下载文件

if (request.getHeader(“User-Agent”).toLowerCase().indexOf(“firefox”) > -1)

{

response.setHeader(“Content-Disposition”, “attachment; filename*=UTF-8”” + fileName);

System.out.println(“firefox”);

} else {

response.setHeader(“content-disposition”, “attachment; filename=” + fileName);

}

//response.setHeader(“content-disposition”, “attachment; filename=” + fileName);

//response.setHeader(“content-type”, “img/jpeg”);

//输出

byte[] buf = new byte[1024];

int len = -1;

while((len = fis.read(buf)) != -1) {

sos.write(buf, 0, len);

}

//关流

sos.close();

fis.close();

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157171.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 人员能力提升方案_优秀的网站通过什么提供信息

    人员能力提升方案_优秀的网站通过什么提供信息在软件行当也混了有4个年头了,刚毕业那会,觉得百度好强大,工作过程中遇到的问题都能从中查到解决方案。随着能力的提升,对于百度的定位:“其就是用来找些低俗的内容而已”。毕业第一年刚进公司,师傅还总因为我用百度而责骂我,不过那个时候真的不懂他的意思,总觉得他很苛刻,用什么你都管。有的时候甚至觉得他很讨厌,跟了他一年只是学会了Google的入门而已,授人以鱼,不如授之以渔,时隔几年才真真的体会到,他真的…

    2022年10月4日
    1
  • 用自己的电脑搭建Web服务器建网站

    用自己的电脑搭建Web服务器建网站    这个也是个醉,上课时候在机房搭建成功了,结果回来很长时间没有管,居然给忘了,最近要写电子商务的作业,没办法,只能在捡起来了,又在自己电脑上搭建了一遍,过程都忘了,结果叫好友帮忙,谁知还是不行,还好我记得默认文档要改,这才成功搭建出来,不说了,开始今天的主题吧。搭建Web服务器建网站过程:1、当然是启用功能了window控制面板–>程序与功能–>启用或关闭W…

    2022年5月28日
    40
  • 手把手教你python画图(精简实例,一看就懂)

    手把手教你python画图(精简实例,一看就懂)1、不叨叨,直接上代码importmatplotlib.pyplotaspltx=[1,2,3,4,5]y=[0,3,2,7,9]plt.figure()plt.plot(x,y,’r-‘,lw=5)plt.show()2、结果图

    2022年6月2日
    44
  • idea代码颜色搭配方案_idea设置注释颜色

    idea代码颜色搭配方案_idea设置注释颜色Github开发的Atom编辑器相信大家都已经用过了。经过这两年的迭代开发,内存占用,启动慢,卡顿很多大坑都已经填上。目前他已经是我写shell/bat/js的主力,当前除了插件安装比较麻烦(需要梯子,或者github+npminstall)我最满意的一点就是Atom的配色方案。他的OneDark配色方案是我见过的最赞的方案之一。深沉的背景/天蓝色的函数/浅灰色的注释/粉色关键字/红色的变量/

    2022年8月28日
    7
  • CentOS部署Jumpserver堡垒机

    CentOS部署Jumpserver堡垒机

    2021年6月1日
    112
  • webstorm 2021激活码【永久激活】

    (webstorm 2021激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlML…

    2022年3月21日
    274

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号