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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Could not get a resource from the pool 问题解决

    Could not get a resource from the pool 问题解决Couldnotgetaresourcefromthepool问题解决今天测试项目的时候,界面提示Couldnotgetaresourcefromthepool报错信息。登录后台,查询对应的java报错日志报错信息:redis.clients.jedis.exceptions.JedisConnectionException:Couldnotgetaresourcefromthepool到这里可以确定的是redis连接出了问题。..

    2025年7月29日
    9
  • Zabbix通过进程名监控进程状态配置详解

    Zabbix通过进程名监控进程状态配置详解Zabbix通过进程名监控进程状态配置详解有时候我们只能通过进程名监控一个进程是否停掉了,因为有的进程并没有对外提供端口号,以下记录了下详细步骤,通过这个示例会学到很多zabbix核心配置相关的东西。总的来说,配置一个完整的监控流程如下:1.创建监控项,即配置要监控的指标,如内存的使用率,CPU的使用率,进程的运行状况等,配了监控项后就会定时收集机器的配置信息,然后等待zabbix…

    2022年5月27日
    57
  • SQL Server 2008R2安装图解教程(附下载链接)「建议收藏」

    SQL Server 2008R2安装图解教程(附下载链接)「建议收藏」下载链接及密码:https://pan.baidu.com/s/1AUrOTnZ_uN0-q7syV2vpGg密码:0u08注:安装SQLServer2008之前,必须预先安装NETFramework3.51、双击下载好的安装文件setup.exe。(在Windows7操作系统系,启动MicrosoftSQL2008安装程序后,系统兼容性助手将提示软件存在兼容性…

    2022年6月23日
    33
  • ipynb后缀文件怎么打开「建议收藏」

    ipynb后缀文件怎么打开「建议收藏」ipynb,顾名思义,ipythonnotebook,哦,原来是用ipythonnotebook打开的啊,下面讲讲怎么安装ipythonnotebook(我的环境是win1064位python是2.7版本,如果要问为何是这个版本,我之后给你丢一个神秘的微笑)第一部分:安装ipython1:安装python,这个不说2:安装pip,这个也不说,网上有很多例子,一般装了py…

    2025年6月9日
    5
  • 使用C#创建WebService实例

    使用C#创建WebService实例新增WebService专案更改服务程式名称重命名程式名称Service1.asmx修改为TestService.asmx此时下面的cs代表文件也会跟着修改,但可发现,代码中的类名并没有跟着变动修改类名称手动将类名称由Service1修改为TestService如果此时执行发布会发现还是会vb.net教程有问题,报错無法建立型別‘.Service1’修改服务绑定代码在TestService.asmx上右键选择打开方式,选择“Web服务编辑器”打开此时会看到服务所有设定,

    2022年7月21日
    13
  • 真封神单机保姆级教程

    真封神单机保姆级教程什么叫真封神服务端?真封神服务端由四部分组成,分别是数据库服务器gameworld(俗称W)登录网关login_server(俗称L)更新服务器update_server(俗称U)

    2022年7月4日
    24

发表回复

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

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