当前位置: 首页 > 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…...

基于springboot+vue好漂酿自助美甲管理系统hx0749FECS

文章目录详细视频演示技术介绍功能介绍核心代码系统效果图源码获取详细视频演示 文章底部名片&#xff0c;获取项目的完整演示视频&#xff0c;免费解答技术疑问 技术介绍 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomca…...

AI Agent Harness Engineering 技术白皮书解读:核心概念与技术架构全景图

AI Agent Harness Engineering 技术白皮书解读:核心概念与技术架构全景图 关键词 AI Agent(智能体) Harness Engineering(工程框架) 多智能体系统 认知架构 工具调用链 记忆管理 决策引擎 摘要 随着人工智能技术的快速发展,AI Agent(智能体)正在成为下一代AI应用的核…...

避坑指南:uniapp中使用previewImage和downloadFile API的常见问题与解决方案

Uniapp图片预览与下载功能深度避坑指南 在移动应用开发中&#xff0c;图片预览和下载是最基础却又最容易出问题的功能之一。很多开发者第一次使用uniapp的previewImage和downloadFileAPI时&#xff0c;都会遇到各种"坑"——图片加载不出来、下载失败、权限问题、安卓…...

微软简化 Windows 预览体验计划,重塑测试生态

简化频道阵容&#xff0c;明晰测试路径微软正在对 Windows 预览体验计划进行大刀阔斧的改革&#xff0c;首当其冲的是简化预览体验频道阵容。在 Windows 11 时代&#xff0c;复杂的四个频道让用户难以抉择&#xff0c;微软也承认频道结构令人困惑。新的频道阵容主要由实验版和测…...

Redis:延迟双删的适用边界与落地细节弦

pagehelper整合 引入依赖com.github.pagehelperpagehelper-spring-boot-starter2.1.0compile编写代码 GetMapping("/list/{pageNo}") public PageInfo findAll(PathVariable int pageNo) {// 设置当前页码和每页显示的条数PageHelper.startPage(pageNo, 10);// 查询数…...

Markdown Viewer:浏览器中的终极Markdown渲染神器,让你告别单调预览

Markdown Viewer&#xff1a;浏览器中的终极Markdown渲染神器&#xff0c;让你告别单调预览 【免费下载链接】markdown-viewer Markdown Viewer / Browser Extension 项目地址: https://gitcode.com/gh_mirrors/ma/markdown-viewer 还在为Markdown文件的预览效果发愁吗&…...

终极指南:如何选择最佳哈希函数提升uthash程序性能

终极指南&#xff1a;如何选择最佳哈希函数提升uthash程序性能 【免费下载链接】uthash C macros for hash tables and more 项目地址: https://gitcode.com/gh_mirrors/ut/uthash 在C语言开发中&#xff0c;哈希表是提升数据查找效率的关键工具。uthash作为一款轻量级的…...

Ostrakon-VL-8B效果实测:百种零售商品SKU识别精度报告

Ostrakon-VL-8B效果实测&#xff1a;百种零售商品SKU识别精度报告 最近在帮一个做零售的朋友研究智能货架方案&#xff0c;他们最头疼的就是商品识别不准。货架上东西一多&#xff0c;系统就经常把可乐认成雪碧&#xff0c;或者把不同口味的薯片搞混。正好看到Ostrakon-VL-8B这…...

Qwen2.5-14B-Instruct应用场景:像素剧本圣殿为播客联盟定制系列剧剧本生成系统

Qwen2.5-14B-Instruct应用场景&#xff1a;像素剧本圣殿为播客联盟定制系列剧剧本生成系统 1. 项目背景与价值 像素剧本圣殿&#xff08;Pixel Script Temple&#xff09;是一款基于Qwen2.5-14B-Instruct大模型深度优化的专业剧本创作工具。这款工具专为播客联盟的系列剧创作…...