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;
    }

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

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

(0)
上一篇 2022年7月8日 下午5:16
下一篇 2022年7月8日 下午5:36


相关推荐

  • 锚点设置,增强用户体验

    锚点设置,增强用户体验

    2021年8月19日
    129
  • printf的题目

    以前学习于渊老师的《自己动手写操作系统》一书的时候,也自己实现过printf,不过那是比较简单的版本。最近看《程序员面试宝典》,做到这么一道题目:#include<stdio.h>int

    2021年12月25日
    44
  • Java Eclipse下载安装教程[通俗易懂]

    Java Eclipse下载安装教程[通俗易懂]一、下载:(1)Eclipse是一个开放源代码的项目,其官方网站是www.eclipse.org(2)从首页中单击DOWNLOAD按钮,进入图2所示的页面。(3)点击DownloadPackages,进入Eclipse下载页面。从EclipseIDEforJavaEEDevelopers后面选择适合当前系统的版本,这里单击64bit按钮,…

    2022年5月2日
    39
  • sqlserver 多表联合查询[通俗易懂]

    sqlserver 多表联合查询[通俗易懂]数据库查询时,对单表的查询很难满足需求,通常都需要多表联合查询。多表连接大致分为内连接和外连接。内连接和外连接的区别主要体现在返回数据上,内连接返回的是符合连接条件和查询条件的记录,外连接返回的数据包含了不符合连接条件没有建立关联的记录。 内连接 A表和B表通过id字段建立连接,返回的是A中id和B中fid相等的记录。字段是A和B中字段的全部,也可以挑选…

    2022年6月6日
    80
  • 网页布局(layout布局)

    网页布局(layout布局)1 块元素转化为行级块之后 元素之间默认大概有 5px 的间距 解决办法 给父元素设置字体大小为 0 然后再给自身设置字体大小 2 设置浮动 父元素会撑不开背景色渐变 linear gradient 第一个参数 角度改变光标形状 cursor pointer

    2026年3月18日
    2
  • 英语固定搭配网站

    英语固定搭配网站https linggle com

    2025年10月6日
    5

发表回复

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

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