当前位置: 首页 > 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();}
}

相关文章:

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 下载文件工具类…...

C# 12 预览版的新功能

作者:Kathleen Dollard 排版:Alan Wang Visual Studio 17.7 Preview 3 和 .NET 8 Preview 6 的发布推进了 C# 12的发展。此预览版包含的功能为将来的性能增强奠定了基础。现在,您能够在库中更方便的使用内联函数。此预览版首次推出了一项实验…...

34.利用matlab解 多变量多目标规划问题(matlab程序)

1.简述 学习目标:适合解 多变量多目标规划问题,例如 收益最大,风险最小 主要目标法,线性加权法,权值我们可以自己设定。 收益函数是 70*x(1)66*x(2) ; 风险函数是 0.02*x(1)^20.01*x(2)^20.04*(x…...

暑假刷题第18天--7/30

165. 小猫爬山 - AcWing题库(dfs) #include<iostream> #include<string> #include<bitset> #include<cstring> #include<algorithm> using namespace std; const int N18; bool vis[N]; int a[N],n,ans,sum[N],k; bool cmp(int x,int y){retur…...

通向架构师的道路之Apache整合Tomcat

一、先从J2EE工程的通用架构说起 这是一个通用的Web即B/S工程的架构&#xff0c;它由&#xff1a; Web Server App Server DB Server 三大部分组成&#xff0c;其中&#xff1a; Web Server 置于企业防火墙外&#xff0c;这个防火墙&#xff0c;大家可以认为是…...

如何消除“信息孤岛”对业务增长的威胁?

根据CMSWire的数据&#xff0c;员工平均每天要花36%的时间来查找和整合信息。但44%的情况下&#xff0c;他们找不到信息。这种时间和精力的浪费就是信息孤岛造成的。 什么是信息孤岛&#xff1f; 当部门存储数据并限制其他人访问数据时&#xff0c;就会出现信息孤岛&#xff…...

Kali部署dvwa和pikachu靶场

kali换源 进入 vim /etc/apt/sources.list deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contrib替换完后更新源 apt-get upadteDVWA靶场环境搭建 使用git从github上把DV…...

​LeetCode解法汇总722. 删除注释

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣 描述&#xff1a; 给一个 C 程序&#xff0c;删除程序中的注释。这个程序source是一个数组&#x…...

Linux中的firewall-cmd

2023年8月4日&#xff0c;周五上午 目录 打开端口关闭端口查看某个端口是否打开查看当前防火墙设置firewall-cmd中的服务在防火墙中什么是服务&#xff1f;为什么会有服务&#xff1f;打开或关闭服务查看某个服务是否打开firewall-cmd中的 zones查看所有可用的zones&#xff0…...

python 最大归一化

最大归一化是将数据转化到[-1,1]范围之间。公式如下 其中|X|max为x特征的绝对值的最大值。 数据标准化算法介绍—数据建模工具_预处理_Max_字段 """ 最大绝对值归一化&#xff08;max abs normalization &#xff09;&#xff1a;也就是将数值变为单位长度&…...

Netty:ByteBuf写入数据、读出数据

介绍 Netty的ByteBuf数据位置索引是0开始的。 可以用ByteBuf的getByte(int index)方法从指定位置读出一字节&#xff0c;这个操作不会改变ByteBuf的readerIndex 或者 writerIndex 的位置。如果index小于0&#xff0c;或者index 1大于ByteBuf的容量&#xff0c;就会抛出IndexO…...

C++(15):面向对象程序设计

面向对象程序设计概述 面向对象程序设计&#xff08;object-oriented programming&#xff09;的核心思想是数据抽象、继承和动态绑定。 1.使用数据抽象&#xff0c;可以将类的接口与实现分离&#xff1b; 2.使用继承&#xff0c;可以定义相似的类型并对其相似关系建模&#x…...

2023牛客暑期多校训练营6-A Tree

2023牛客暑期多校训练营6-A Tree https://ac.nowcoder.com/acm/contest/57360/A 文章目录 2023牛客暑期多校训练营6-A Tree题意解题思路代码 题意 解题思路 最大价值和这个数据范围&#xff0c;一眼 d p dp dp。 直接在树上并不好处理&#xff0c;问题是如何有效转化、处理…...

Vc - Qt - QPainter::SmoothPixmapTransform及QPainter::Antialiasing

QPainter::SmoothPixmapTransform是一个标志&#xff0c;用于指定绘制操作中的平滑像素变换行为。当使用QPainter绘制一幅图像时&#xff0c;设置SmoothPixmapTransform标志可以使图像变换过程更加平滑&#xff0c;减少锯齿状边缘的出现。此标志通常用于绘制缩放后图像的情况。…...

【练习】条件变量:创建三个线程 id号为ABC,三个线程循环打印自己的ID号,运行顺序为 ABCABC

题目&#xff1a; 创建三个线程 id号为ABC&#xff0c;三个线程循环打印自己的ID号&#xff0c;运行顺序为 ABCABC......要求使用条件变量 #include <stdio.h> #include <pthread.h> #include <unistd.h>//创建互斥锁 pthread_mutex_t mutex PTHREAD_MUTE…...

SpringBoot项目修改中静态资源,只需刷新页面无需重启项目(附赠—热加载)

初衷 &#x1f4a2;初衷&#x1f4a2; 因为一遍遍修改并重启项目觉得很麻烦&#xff0c;所以刚开始就自己给项目配置了热加载&#xff0c;但奈何代码更新还是慢&#xff0c;还不如我重启一遍项目的速度&#xff0c;所以放弃了自己上网找到的热加载配置。直到我debugger前端代码…...

clear_data_code_2d_model

dev update off () dev close window () ImageFiles:-./二维条码/read_image(Image&#xff0c;ImageFiles 十二维条码原图.png)dev_open_window_fit_image(Image&#xff0c;0&#xff0c;0&#xff0c;-&#xff0c;-1&#xff0c;WindowHandle)set_display_font (WindowHan…...

“深入剖析JVM:揭秘Java虚拟机的工作原理“

标题&#xff1a;深入剖析JVM&#xff1a;揭秘Java虚拟机的工作原理 摘要&#xff1a;本文将深入探讨Java虚拟机&#xff08;JVM&#xff09;的工作原理&#xff0c;包括JVM的架构、内存管理、垃圾回收、即时编译等关键技术。通过对JVM的剖析&#xff0c;我们可以更好地理解Ja…...

elementui表格table中实现内容的换行

问题 elementui 中的 table 行内的内容不能进行换行。 解决方法 思路&#xff1a; 利用 作用域插槽 结合 v-html&#xff0c;通过作用域插槽传递内容到表格行内&#xff0c;再通过 v-html 进行内容的替换。 代码&#xff1a; <el-table:data"tableData"stri…...

java 框架

目录 Spring 如何解决 bean 的循环依赖?什么是 AOP?Spring 如何实现的?BeanFactory 和 ApplicationContext 有什么区别?介绍一下 Spring bean 的生命周期Spring 的隔离级别Spring 框架用到了哪些设计模式?并举出典型例子Spring 如何解决 bean 的循环依赖? Spring中引入三…...

平时没感觉突然痛到动不了,颈椎病腰间盘突出早有潜伏信号,成因症状与防护干货速收藏

很多人觉得颈腰椎病是 "慢性病"&#xff0c;会慢慢加重&#xff0c;却不知道它常常以 "突然爆发" 的形式出现。 不少患者前一天还正常工作生活&#xff0c;第二天就突然颈痛难忍、腰痛到无法下床&#xff0c;这其实是因为疾病早已在体内潜伏多年&#xff…...

郭老师-人生是一场意识的修行

人生是一场意识的修行 ——六句真言&#xff0c;唤醒心灵智慧“生命不是为了抵达某个终点&#xff0c; 而是为了—— 在每一场经历中&#xff0c; 认出自己。”&#x1f33f; 真正的成长&#xff0c;是心力的成长&#xff1b; 真正的智慧&#xff0c;是心灵的智慧。&#x1f33…...

Tiny Transformer实战:手把手教你实现轻量级Transformer架构

1. 为什么需要轻量级Transformer&#xff1f; 当你第一次听说Transformer时&#xff0c;可能会被它的强大性能所震撼。但当你真正尝试在本地运行一个标准Transformer模型时&#xff0c;往往会发现它需要消耗惊人的计算资源。我曾在自己的笔记本电脑上尝试训练一个中等规模的Tr…...

GME多模态向量-Qwen2-VL-2B多场景落地:已支持12类垂直领域图文Schema定制扩展

GME多模态向量-Qwen2-VL-2B多场景落地&#xff1a;已支持12类垂直领域图文Schema定制扩展 你是不是经常遇到这样的问题&#xff1f;想找一张图&#xff0c;却只能用文字描述&#xff0c;结果搜出来的图片总是不对劲&#xff1b;或者有一张图片&#xff0c;想找和它内容相关的文…...

FaceFusion使用技巧:教你如何实现跨设备访问换脸工具

FaceFusion使用技巧&#xff1a;教你如何实现跨设备访问换脸工具 1. FaceFusion简介 FaceFusion是新一代AI换脸工具&#xff0c;无需复杂安装即可一键运行。它支持Nvidia和AMD全系列显卡&#xff0c;能够实现高清换脸、去遮挡、卡通脸替换等功能。最新版本增加了三种遮罩功能…...

YOLO12镜像问题解决:服务异常重启、参数调整技巧

YOLO12镜像问题解决&#xff1a;服务异常重启、参数调整技巧 1. YOLO12镜像常见问题诊断 1.1 服务异常重启问题排查 YOLO12镜像采用Supervisor进行进程管理&#xff0c;当遇到服务异常时&#xff0c;可以按照以下步骤排查&#xff1a; 检查服务状态&#xff1a; supervisorc…...

一个简洁易用的 Delphi JSON 封装库,基于 System.JSON`单元封装,提供更直观的 API行

一、前言&#xff1a;什么是 OFA VQA 模型&#xff1f; OFA&#xff08;One For All&#xff09;是字节跳动提出的多模态预训练模型&#xff0c;支持视觉问答、图像描述、图像编辑等多种任务&#xff0c;其中视觉问答&#xff08;VQA&#xff09;是最常用的功能之一——输入一张…...

Unity 物联网通信实战:从零集成 MQTTnet 到发布订阅

1. 为什么选择MQTTnet做Unity物联网通信 如果你正在开发一个需要实时数据交互的Unity应用&#xff0c;比如智慧城市大屏或者设备监控面板&#xff0c;MQTT协议绝对是你的首选。而MQTTnet作为.NET平台最成熟的MQTT客户端库&#xff0c;在Unity中的表现尤为出色。我去年做过一个工…...

老马失前蹄,竟然在数据库外键上翻车了,重温外键级联淌

AI Agent 时代的沙箱需求 从 Copilot 到 Agent&#xff1a;执行能力的质变 在生成式 AI 的早期阶段&#xff0c;应用主要以“Copilot”形式存在&#xff0c;AI 仅作为辅助生成建议。然而&#xff0c;随着 AutoGPT、BabyAGI 以及 OpenAI Code Interpreter&#xff08;现为 Advan…...

背包DP:从入门到精通的动态规划指南

背包DP的基本概念背包动态规划&#xff08;Knapsack DP&#xff09;是一类经典的优化问题&#xff0c;通常描述为&#xff1a;给定一组物品&#xff0c;每个物品有重量和价值&#xff0c;在不超过背包承重限制的前提下&#xff0c;选择物品使得总价值最大。背包问题分为多种类型…...