当前位置: 首页 > news >正文

Java 实现下载文件工具类

package com.liunian.utils;import lombok.SneakyThrows;import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;/*** @ClassName DownloadFileUtils* @Author liuyan 下载文件工具类* @Description* @Date 2023/8/4 0004 11:06* @Version 1.0*/
public class DownloadFileUtils {/*** 下载文件** @param filePath 文件路径* @param response 响应体*/@SneakyThrowspublic static void downloadFile(String filePath, HttpServletResponse response) {File file = new File(filePath);//输入流,读取文件内容FileInputStream fileInputStream = new FileInputStream(file.getPath());//输出流,将文件写回浏览器ServletOutputStream servletOutputStream = response.getOutputStream();//响应格式(图片)response.addHeader("Content-Disposition", "attachment;filename=" + new String(file.getName().getBytes()));response.addHeader("Content-Length", String.valueOf(file.length()));response.setContentType("application/octet-stream");int len = 0;byte[] bytes = new byte[1024];while ((len = fileInputStream.read(bytes)) != -1) {servletOutputStream.write(bytes, 0, len);servletOutputStream.flush();}fileInputStream.close();servletOutputStream.close();}
}
http://www.lryc.cn/news/108834.html

相关文章:

  • C# 12 预览版的新功能
  • 34.利用matlab解 多变量多目标规划问题(matlab程序)
  • 暑假刷题第18天--7/30
  • 通向架构师的道路之Apache整合Tomcat
  • 如何消除“信息孤岛”对业务增长的威胁?
  • Kali部署dvwa和pikachu靶场
  • ​LeetCode解法汇总722. 删除注释
  • Linux中的firewall-cmd
  • python 最大归一化
  • Netty:ByteBuf写入数据、读出数据
  • C++(15):面向对象程序设计
  • 2023牛客暑期多校训练营6-A Tree
  • Vc - Qt - QPainter::SmoothPixmapTransform及QPainter::Antialiasing
  • 【练习】条件变量:创建三个线程 id号为ABC,三个线程循环打印自己的ID号,运行顺序为 ABCABC
  • SpringBoot项目修改中静态资源,只需刷新页面无需重启项目(附赠—热加载)
  • clear_data_code_2d_model
  • “深入剖析JVM:揭秘Java虚拟机的工作原理“
  • elementui表格table中实现内容的换行
  • java 框架
  • 死锁的发生原因和怎么避免
  • visual studio 生成dll文件以及修改输出dll文件名称操作
  • 【Leetcode】73.矩阵置零
  • zabbix监控mysql容器主从同步状态并告警钉钉/企业微信
  • ARM 常见汇编指令学习 9 - 缓存管理指令 DC 与 IC
  • 落地数字化管理,提升企业市场竞争力
  • 2023华数杯数学建模竞赛C题思路解析
  • Photon之如何解决Photon Server无法在局域网使用的bug
  • Redis两种持久化方案RDB持久化和AOF持久化
  • 银河麒麟v10 vnc环境配置
  • 【动态内存管理助力程序优化与性能飞升】