JAVA下载文件代码「建议收藏」

JAVA下载文件代码「建议收藏」publicstaticHttpServletResponsedownload(Stringpath,HttpServletResponseresponse,StringfileName){try{//path是指欲下载的文件的路径。Filefile=newFile(path);…

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

public static HttpServletResponse download(String path, HttpServletResponse response, String fileName) {

        try {

            // path是指欲下载的文件的路径。
            File file = new File(path);
            // 取得文件名。
            String filename = fileName;
            if(StringUtils.isEmpty(fileName)){

                filename = file.getName();
            }
            // 取得文件的后缀名。
            String ext = filename.substring(filename.lastIndexOf(“.”) + 1).toUpperCase();

            // 以流的形式下载文件。
            InputStream fis = new BufferedInputStream(new FileInputStream(path));
            byte[] buffer = new byte[fis.available()];
            fis.read(buffer);
            fis.close();
            // 清空response
            response.reset();
            // 设置response的Header
            response.addHeader(“Content-Disposition”, “attachment;filename=” + new String(filename.getBytes()));
            response.addHeader(“Content-Length”, “” + file.length());
            OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
            response.setContentType(“application/octet-stream”);
            toClient.write(buffer);
            toClient.flush();
            toClient.close();
        } catch (IOException ex) {

            ex.printStackTrace();
        }
        return response;
    }

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157191.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 对知识推理的认识的相关论文

    对知识推理的认识的相关论文​论文一()中文引用格式:官赛萍,靳小龙,贾岩涛,王元卓,程学旗.面向知识图谱的知识推理研究进展.软件学报,2018,29(10):29662994.http://www.jos.org.cn/1000-9825/5551.htm1.1知识推理的简介面向知识图谱的知识推理旨在基于已有的知识图谱事实,推理新的事实或识别错误知识。例如,在DBpedia中已知三元组(X,birthPlace,Y),可以在很大程度上推理出缺失的三元组(X,nationality,Y)。主要分为:

  • ubuntu安装pycharm快捷图标_pycharm快捷方式找不到了

    ubuntu安装pycharm快捷图标_pycharm快捷方式找不到了1、首先下载pycharm安装包,从官网下载,选择专业版。2、解压到一个文件夹,打开bin文件夹,命令行下运行pycharm.sh文件。sh./pycharm.sh3、然后出现安装过程,一步一步走下去就行,如果中间问是否需要加载以前的设置(如果以前安装过),可以加也可以不加。4、激活码选择企业版,可以输入:http://idea.imsxm.com/5、完成安装。但是这样每次打开pycharm,需

  • 模糊PID控制算法的C++实现

    模糊PID控制算法的C++实现模糊PID的C++实现方法

  • pycharm安装pyqt5-tools_pycharm如何导入pygame模块

    pycharm安装pyqt5-tools_pycharm如何导入pygame模块1.根据自己的系统和python版本下载安装,我用的是:PyQt5-5.6-gpl-Py3.5-Qt5.6.0-x32-2.exepython-3.5.4.exepycharm装的是激活成功教程版以上按次序依次安装,都按照默认路径安装即可。2.打开pycharm2.因为我用来写了一个串口

  • Windows中如何查看日志(如查看远程登陆的IP地址)以及常用日志ID

    Windows中如何查看日志(如查看远程登陆的IP地址)以及常用日志ID【时间】2018.12.12【题目】Windows中如何查看日志(如查看远程登陆的IP地址)以及常用日志ID概述在Windows中可以使用事件查看器来查看相关日志,并结合日志ID进行日志筛选。常见的日志有: 4634-帐户被注销   4647-用户发起注销   4624-帐户已成功登录(可以查看   4625-帐户登…

  • java保留两位小数不四舍五入_java截取两位小数

    java保留两位小数不四舍五入_java截取两位小数首先让我们来定义三个变量 doublex=5.112; doubley=5.118; doublez=5.1; 前两个用于演示四舍五入, 最后一个用于演示一位小数的情况方法一:使用String.format方法(四舍五入) System.out.println(String.format(“%.2f”,x)); System.out.println(S…

发表回复

您的电子邮箱地址不会被公开。

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