Spring boot 文件下载接口

2023-11-08

@RequestMapping("/xzwj")
复制代码
public void xzwj(HttpServletResponse res,String id) throws IOException { 
String fileName = "12345.png";
res.setHeader("content-type", "application/octet-stream");        res.setContentType("application/octet-stream");
        res.setHeader("Content-Disposition", "attachment;filename=" + fileName);
        byte[] buff = new byte[1024];
        BufferedInputStream bis = null;
        OutputStream os = null;
        try {
            os = res.getOutputStream();
//            bis = new BufferedInputStream(new FileInputStream(new File("C:\\Users\\86188\\IdeaProjects\\sq_activity_demo\\src\\main\\resources\\"
//                    + fileName)));
            bis=new BufferedInputStream(processEngine.getTaskService().getAttachmentContent(id));//
            int i = bis.read(buff);
            while (i != -1) {
                os.write(buff, 0, buff.length);
                os.flush();
                i = bis.read(buff);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (bis != null) {
                try {
                    bis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
}复制代码


转载于:https://juejin.im/post/5c516318518825260c5d2754

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring boot 文件下载接口 的相关文章

  • 通过 SSH 隧道远程访问 MySQL 数据库

    我正在尝试编写 Java 程序来使用 ssh 隧道访问远程 mySQL 数据库 下面是我的代码 int lport 5656 int rport 3306 String rhost 111 222 333 444 String host 1
  • 将比较器对象存储在数组中

    我为我的对象定义了 4 个比较器 如下所示 public static Comparator
  • JPA 实体中的方法是否允许抛出异常?

    我尝试创建的 Entity 有问题 当尝试使用 OpenJPA 实现在 Eclipse 中测试类时出现问题 我有not尝试过其他人 所以不确定它是否适用于他们 我的测试用例非常简单 因为它创建一个 EntityManagerFactory
  • 在 Java 中重置 Graphics2D 对象

    我正在用 Java 尝试 Graphics2D 但像往常一样 我被困住了 P 问题是 假设我有这个代码 Graphics2D g Graphics2D this getGraphics Inside a JFrame g rotate Ma
  • Android 上的 setTimeOut() 相当于什么?

    我需要等效的代码setTimeOut call function milliseconds 对于安卓 setTimeOut call function milliseconds 您可能想查看定时任务 http developer andro
  • 为移动设备扩展 libgdx UI?

    眼下desktop应用程序的版本很好 按钮缩放得很好 但是当我部署到android它们很小 几乎无法使用 DesktopLauncher public class DesktopLauncher public static void mai
  • java中如何围绕另一个移动对象旋转一个对象?

    我对 Java 很陌生 想要编写一个简单的太阳系统 其中月球绕地球旋转 地球绕太阳旋转 一切正常 除了月亮不想正确移动 由于地球偏离月球的初始位置 月球的自转半径会根据该距离而增大 同样 当地球接近月球惯性位置时 自转半径会减小 如果初始位
  • C# 中的 Culture 相当于 Java 中的 Locale 吗?

    C 使用文化的概念 这在操作上与 Java 中的 Locale 类似吗 或者底层概念是否存在显着差异 从文化而不是语言环境的角度进行工作是一种寻找正确抽象层次的尝试 从以类似方式做事的人群的角度来考虑事物 而不是谈论地理区域和语言 并有点疯
  • Java 创建 Thread 实例时会发生什么

    我有一个关于 Java 线程和操作系统线程的问题 我读了Java 线程与 Pthreads https stackoverflow com questions 5269535 java threads vs pthreads and Jav
  • 如何在 Android 中将 EditText 绘制到画布上?

    我想画画 EditText username new EditText context 到我画布上的特定位置 protected void onDraw Canvas canvas 是否可以在基础上画出x y在我的 Java 文件中协调而不
  • 小米和oppo等中国ROM上的工作管理器,在电池优化时,将工作的计划延迟增加几个小时

    小米和 Oppo 等中国 ROM 上的工作管理器在进行电池优化时 会将计划的工作延迟增加几个小时 但是 我注意到一些应用程序即使在电池优化下也能够让计划的作业安静地完美运行 我注意到的一个区别是 它们每次运行作业时都会显示一条通知 那么这是
  • 让 Java 与 Windows 10 Ubuntu 一起使用

    我安装了 Windows 10 周年更新 以便可以在 Windows 上的 Ubuntu 上尝试 Bash 看如何安装 http www howtogeek com 249966 how to install and use the lin
  • 用java解密AES加密文件

    我有一个使用 AES 使用 java 应用程序加密的文件 我还有一个加密的密钥文件 但我不明白如何使用密钥来解密文件 大多数教程和示例都会在一个地方创建临时随机密钥 加密文件和解密 所以 问题是如何指定解密时必须使用的密钥 EDIT 我发现
  • 从 Java 调用 Python 代码时出现问题(不使用 jython)

    我发现这是从 java 运行 使用 exec 方法 python 脚本的方法之一 我在 python 文件中有一个简单的打印语句 但是 我的程序在运行时什么也没做 它既不打印Python文件中编写的语句 也不抛出异常 程序什么都不做就终止了
  • SOAP Web 服务中的用户身份验证

    我提出了一个关于JAX WS 身份验证和授权 如何 https stackoverflow com questions 5314782 jax ws authentication and authorization how to 讨论了安全
  • 当相应的 JTextfield 为空时,如何填充 JTable 中的所有项目

    我正在 Java 项目中设计一个高级搜索选项sqlite在 NetBeans 中 有5种不同JTextfields和 5 列 我想填充JTable具有相应的匹配标准 如果一个JTextfield为空 那么它应该选择该列的所有项目 我使用的查
  • 如何实现再次播放功能?

    我希望在游戏结束时得到提示 如果我还想再玩一次的话 并使用 Y N 输入 退出游戏或重复游戏 我该如何以最有效的方式解决这个问题 编辑 描述资源路径位置类型 类型 Main Main java ScaredyCat src se grupp
  • 用于将字符串与通配符模式进行匹配的递归函数

    所以我一整天都在试图解决这个作业 只是无法完成 以下函数接受 2 个字符串 第二个 不是第一个 可能包含 的 星号 An 是字符串的替换 空 1个字符或更多 它可以出现 仅在s2中 一次 两次 更多或根本不出现 它不能与另一个相邻 ab c
  • PSQLException:错误:关系“TABLE_NAME”不存在

    我正在尝试在 PostgreSQL 8 4 2 DB 上运行休眠 每当我尝试运行简单的java代码时 例如 List
  • gwt - 在 RPC 调用中使用 List

    我有一个 RPC 服务 方法如下 public List

随机推荐

  • 数值千分位

    场景 如果数值超过1000会进行 进行分割 formatNumber num 将数字转换为字符串 并使用正则表达式匹配千分位位置 return String num replace d 1 3 d 3 d g 1
  • -L -Wl,-rpath-link -Wl,-rpath区别精讲

    目录 前言 源码准备 源码内容 尝试编译 保证源码没有问题 编译 首先编译world c 编译并链接hello c 调试编译test c 结论 前言 关于gcc这三个参数 参考了诸多文档后 仍然理解上有偏差 仿照下面博客中的方法 自己调试了
  • 工控安全-S7协议

    文章目录 一 西门子PLC系统构成 二 S7协议结构 三 TPKT协议 四 COTP协议 4 1 COTP连接包 4 2 COTP功能包 五 S7Comm协议 5 1 头 Header 5 2 作业请求 Job 和确认数据响应 Ack Da
  • scp传输文件及文件夹

    在Linux与Windows中复制文件目录 常使用ftp服务 而Linux与Linux间传输文件目录 使用scp命令则可以轻松实现Linux与Linux间文件以及的传输 首先 必须在两台Linux中 必须安装openssh clients
  • ruoyi 若依框架在浏览器上面打开新页面标签(可视化大屏)

    需要设置四个地方 1 设置菜单路径 最重要的是路由地址 2 配置公共路由地址 3 设置路由地址 layout gt components gt Sidebar gt Link 文件 isNewPage return this to data
  • 小白入门级直观简洁VMware 16以及虚拟机Linux CentOS 7 64位的安装及配置

    任务一 安装VMware 16 下载地址 VMware 16 pro 提取码 0322 1 管理员身份运行安装程序 选择下一步 2 勾选 我接受许可协议 并点击下一步 3 勾选 自动安装 并点击下一步 4 根据本人电脑磁盘大小更改安装位置
  • 【软件工程基础复习整理】第四章需求分析(1)概念和需求收集

    需求分析 结构化方法 面向对象方法 需求分析 指开发人员通过细致的调差分析 详细 准确和完整地理解用户需要什么样地软件 将用户非形式地需求陈述转化为完整的需求定义 再将需求定义转换到相应的需求规格说明的过程 通常 把一整套的需求分析方法 技
  • frpc启动出现认证超时的错误:authorization timeout

    原因 客户端的时钟和服务器端时钟相差太大 这个超时时间可以在配置文件中通过 authentication timeout 这个参数来修改 单位为秒 默认值为 900 即 15 分钟 如果修改为 0 则 frps 将不对身份验证报文的时间戳进
  • excel禁止(避免)输入重复数据的设置方法

    来自http www ittribalwo com article 1419 html 第一 单个工作表excel避免重复输入的设置 excel禁止输入重复数据 用excel公式来解释 实际就是统计不重复个数 我们以A列的姓名列来讲解exc
  • QtWebEngine automation 自动化操作

    早期版本的 QtWebkit github 上有 Cisco 的 automation 开源项目 https github com cisco open source qtwebdriver Qt 后来采用的 QtWebEngine 我搜了
  • api接口响应类型定义

    public class Response
  • SpringCloud Config--概述

    SpringCloud Config概述 分布式系统面临的 配置问题 微服务意味着要将单体应用中的业务拆分成一个个子服务 每个服务的粒度相对较小 因此系统中会出现大量的服务 由于每个服务都需要必要的配置信息才能运行 所以一套集中式的 动态的
  • linux网络管理

    https blog csdn net sinat 17566367 article details 88912918 网络管理 https www cnblogs com starof p 4153663 html 配置文件 Linux网
  • 如何修改手机IP地址

    说起手机换IP大家可能没有对电脑换IP那么熟悉 但是现在智能手机能做到事情越来越多 手机换IP也成为许多工作需要 一部分人还不知道怎么操作 就跟着小编一起来看看手机换IP的几种方法 一 手动换IP 这个适合偶尔换IP 时间富裕的朋友 我们使
  • Tableau Prep使用

    下载了 Tableau Prep 2019 1 4 版本 安装后 注册使用14天的试用版 1 连接数据源 2 创建数据流 如下图 一共创建了2个数据流 分别存到2个不同的csv文件
  • 环境变量的作用和位置

    1 当要求系统运行一个程序而没有告诉它程序所在的完整路径时 系统除了在当前目录下面寻找此程序外 还应到环境变量path中指定的路径去找 用户通过设置环境变量 来更好的运行进程 一般说的环境变量都是指系统的环境变量 2 轻松打开win10环境
  • configure交叉编译 说明

    交叉编译某个应用程序时 通常需要 configure 来生成对应的 Makefile configure 最关键的三个选项是 host HOST 指定软件运行的系统平台 如果没有指定 将会运行 config guess 来检测 build
  • YoloV8改进策略:增加分支,减少漏检

    文章目录 摘要 数据集 如何解决问题 原始网络Yolov8 改进一 改进二 改进三 总结 扩展 YoloV5增加小目标检测的分支 摘要 如何检测小目标 这个一直是比较头疼的问题 如果都是小目标还好说 我们可以采用切图的方式 如果是数据集的目
  • 目标检测——day66 Scaled-YOLOv4: Scaling Cross Stage Partial Network

    Scaled Yolov4 可伸缩跨级部分网络 Scaled YOLOv4 1 Introduction 2 Related work 2 1 Real time object detection 2 2 Model scaling 模型缩
  • Spring boot 文件下载接口

    RequestMapping xzwj 复制代码 public void xzwj HttpServletResponse res String id throws IOException String fileName 12345 png