【问题解决】后端如何以文件流的形式返回本地资源给前端,提供下载服务

2023-11-02

后端以文件流的形式返回本地资源

//文件地址
String path = "PDFpath";

File file = new File(PDFpath);

//读取生成的PDF文件
InputStream inputStream;
OutputStream outputStream;
响应设置 重制输出流

try {
   if (file.exists()){
       inputStream = new FileInputStream(file);
       outputStream = new BufferedOutputStream(response.getOutputStream());
       byte[] bytes = new byte[1024];
       int len;
       while ((len = inputStream.read(bytes)) != -1){
           response.getOutputStream().write(bytes,0,len);
       }
       outputStream.flush();
       outputStream.close();
       inputStream.close();
   }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
}

在接口测试中可以使用postman的Send And Download进行测试。

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

【问题解决】后端如何以文件流的形式返回本地资源给前端,提供下载服务 的相关文章

  • Java EE 6 和单例

    谁能解释一下在 Java EE 6 应用程序中实现 Singleton 的完整过程 我假设我不应该以声明静态变量的典型方式创建单例 而应该使用 Singleton注解 我必须这样做吗 难道只是声明一下的情况 Singleton就是这样 我还
  • Android:对于具有 LinearLayout 定义的成员的 ListView,上下文菜单不显示?

    我有一个 ListActivity 和 ListView 并且我已将一些数据绑定到它 数据显示得很好 而且我还为视图注册了一个上下文菜单 当我将列表项显示为简单的 TextView 时 它工作正常
  • Spring安全+LocaleResolver

    我需要在身份验证成功后更改区域设置 区域设置解析器
  • 检查从 arrayadapter 获取的复选框

    我有标题清单 CheckBox 我想控制默认检查哪一个 所以我试图获得正确的视图并检查它 但由于某种原因它不起作用 知道为什么吗 form checkbox item xml
  • 如何在JavaFX中有效地滚动和缩放大图像?

    作为图像处理应用程序的一部分 我需要创建具有缩放 滚动和矢量叠加功能的简单查看器模块 图像相当大 40000x20000 这使得 ImageView 上的操作变慢 缓冲等 在 JavaFX 中处理巨大图像时 改善用户体验的最佳选项是什么 我
  • 模式更新后 jOOQ 生成的类的运行时验证?

    我用org jooq util DefaultGenerator在构建过程中生成 jOOQ 类来表示我的数据库模式 当应用程序运行时 架构预计会在应用程序不知情的情况下发生更改 此类更改可能与已生成的代码兼容 也可能不兼容 如何在运行时检测
  • WSDL2Java 抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java

    我正在尝试从远程 Web 服务创建 java 文件 我下载了axis 1 4 将lib文件夹复制到c data axis lib其中包含这些文件 axis jar 轴 ant jar commons discovery 0 2 jar co
  • Java - 调整图像大小而不损失质量

    我有 10 000 张照片需要调整大小 因此我有一个 Java 程序来执行此操作 不幸的是 图像的质量损失很大 而且我无法访问未压缩的图像 import java awt Graphics import java awt AlphaComp
  • 为什么当达到 InitiatingHeapOccupancyPercent 时 G1 不开始标记周期?

    根据文档 http www oracle com technetwork articles java g1gc 1984535 html XX InitiatingHeapOccupancyPercent 设置触发标记周期的Java堆占用阈
  • 如何在java中从包含.0的浮点数中删除小数部分

    我只想删除包含的浮点数的小数部分 0 所有其他数字都是可以接受的 例如 I P 1 0 2 2 88 0 3 56666 4 1 45 00 99 560 O P 1 2 2 88 3 567 4 1 45 99 560 有什么方法可以做到
  • 如何在 QueryDSL 中选择文字

    我目前正在开发一个使用 queryDSL 和 hibernate 的项目 其中它需要一个选择文字 按照发布的示例here https stackoverflow com questions 18691317 querydsl how to
  • Java ArrayList 和 HashMap 动态

    有人可以提供一个创建Java的例子吗ArrayList and HashMap在飞行中 所以而不是做一个add or put 实际上在类实例化时为数组 哈希提供种子数据 举个例子 类似于 PHP 的例子 array array 3 1 2
  • 使用 Haskell 将函数注入到 Java .class 文件中

    我使用 Haskell 编写了一个 Java 字节码解析器 它工作得很好 然而下一步让我完全难住了 我的 Haskell 程序需要修改 class 文件 以便在执行时 Java 程序打印 输入 此处的方法名称 在执行方法之前 并且 退出 此
  • 在 Apache Servicemix 4 中的 OSGi 包之间共享配置文件?

    有人能够在 SMX4 中的两个或多个捆绑包之间成功共享配置吗 我正在寻找的是这样的 有一个文件 SMX HOME etc myconfiguration cfg 使此配置 可用 以便使用 Spring dm 通过 OSGi 配置管理将其注入
  • 带等待/通知的同步块与不带等待/通知的同步块之间的区别?

    如果我只是使用synchronized 不是wait notify方法 它仍然是线程安全的吗 有什么不同 Using synchronized使方法 块一次只能由一个线程访问 所以 是的 它是线程安全的 这两个概念是结合在一起的 而不是相互
  • 短 2 个字节

    我正在从串行端口读取一个长度为 133 字节的数据包 最后 2 个字节包含 CRC 值 我使用 Java 将 2 个字节值制成单个 我认为很短 这就是我所做的 short high 48 0x00ff short low 80 short
  • Web 服务客户端的 AXIS 与 JAX-WS

    我决定用Java 实现Web 服务客户端 我已经在 Eclipse 中生成了 Axis 客户端 并使用 wsimport 生成了 JAS WS 客户端 两种解决方案都有效 现在我必须选择一种来继续 在选择其中之一之前我应该 考虑什么 JAX
  • 如何从 Sublime Text 编辑器调试 Java 应用程序

    有时我正在对相当大的 Java 应用程序进行简单的修复 但我不想打开 Eclipse 来执行此任务 Eclipse 启动时间很长 并且由于该项目是由大量子项目构建的 而这些子项目无论如何都是由 Maven 构建的 因此需要很长时间才能使用
  • Eclipse 如何创建一个未解决编译问题的类?

    当我尝试使用 javac 编译此类时 出现编译错误并且未创建 Test class public class Test public static void main String args int x 1L lt this cannot
  • removeall 和removeif 的用例

    我找到了这个 fun main val list MutableList

随机推荐

  • 【模式识别&目标检测】——基于机器视觉的无人机避障&RP-YOLOv3实例

    目录 引入 一 YOLOv3模型 1 实时目标检测YOLOv3简介 2 改进的实时目标检测模型 二 数据集建立 结果分析 1 数据集建立 2 模型结果分析 三 无人机避障实现 参考文献 引入 目前对于障碍物的检测整体分为 激光 红外线 超声
  • ubuntu18.04多版本cuda安装与转换(实测有效)

    ubuntu18 04 CUDA详解 Ubuntu18 04安装cuda 10 1及10 0 和cudnn 1 安装显卡驱动 1 1 禁用nouveau驱动 1 2 安装NVIDIA显卡驱动 2 安装CUDA10 1 2 1 下载cuda安
  • 公司前端开发架构改造

    要看更多的文章 欢迎访问我的个人博客 http oldli net 现在的前端早已不是几年前的前端 再也不是jQuery加一个插件就能解决问题的时代 最近对公司前端的开发进行了一系列的改造 初步达到了我想要的效果 但是未来还需要更多的改进
  • 【DOCKER】docker run的-d,-v等参数用处

    0 引用 ref1 docker ps的详解 表格和文本的记录版本 1 手册查询内容 root master cpu docker run help Usage docker run OPTIONS IMAGE COMMAND ARG Ru
  • linux脚本的注释符号是什么,linux的shell编程中的符号`是什么

    bin sh 是指此脚本使用 bin sh来解释执行 是特殊的表示符 其后面根的是此解释此脚本的shell的路径 bash 表示系统提示符 表示此用户为普通用户 超级用户的提示符是 bash是shell的一种 是linux下最常用的一种sh
  • ARM MMU 详解

    一 MMU 的产生 许多年以前 当人们还在使用DOS或是更古老的操作系统的时候 计算机的内存还非常小 一般都是以 K 为单位进行计算 相应的 当时的程序规模也不大 所以内存容量虽然小 但还是可以容纳当时的程序 但随着图形界面的兴起 还有用户
  • @Resource注解的使用

    1 在spring的配置文件中导入命名空间 xmlns context http www springframework org schema context http www springframework org schema cont
  • 推荐一个好组件Javascript文本比较工具

    您的项目上有没有遇到需要在前端显示并比较两个不同版本的文本文件 希望它像winmerge 或eclipse的svn比较工具那样标注不同的地方 我找到了 分享给大家吧 最近项目上需要一个类似cvs svn文本比较工具 把左右两个文本中不一样的
  • 在Eclipse添加Android兼容包( v4、v7 appcompat )

    昨天添加Android兼容包 碰到了很多问题 在这里记录一下 让后面的路好走 如何选择兼容包 请参考Android Support Library Features 二 一 下载Support Library 方法1 右击项目 选择Andr
  • Jenkins配置定时调度部署

    H 22 表示每天22点 自动构建
  • 怎么找CVPR/ICCV/ECCV文章

    原文链接 https www jianshu com p aed3dd8c81fa CVPR论文查找 每年一届 点击如下链接 输入相关关键字即可搜索 http openaccess thecvf com CVPR2013 search py
  • 冒泡排序原理详解及代码实现

    1 冒泡排序数组排序常用的一种方式 为什么要叫冒泡排序呢 这还要从它的原理说起 2 代码实现 低效版 3 原理详解 冒泡排序最基本的思想就是从左到右依次判断相邻的两个数的大小关系 如果前面的数大于后面的数 则两数互换位置 但是只是从左到右遍
  • C++11---智能指针

    智能指针 1 为什么引入智能指针 1 1 内存泄漏 2 智能指针的使用及原理 2 1 RAII 2 2 智能指针的原理 3 C 98 auto ptr 4 unique ptr 5 shared ptr 5 1 循环引用 6 weak pt
  • 在Anaconda下安装了TensorFlow库matplotlib库却调用不了了

    在Anaconda下安装了TensorFlow库 但是Anaconda中的matplotlib库却调用不了了 解决方法如下 1 打开Anaconda Prompt 2 输入activate tensorflow 3 输入conda inst
  • 2022年全国职业院校技能大赛(中职组)网络安全竞赛试题解析-A

    2022年全国职业院校技能大赛 中职组 网络安全竞赛试题 1 总分100分 需要环境可以私信博主 赛题说明 一 竞赛项目简介 网络安全 竞赛共分A 基础设施设置与安全加固 B 网络安全事件响应 数字取证调查和应用安全 C CTF夺旗 攻击
  • StackGAN笔记

    Stack可译做堆叠 就是在GAN上面再放上一个GAN 作者讲述的自己的解决思路 原来难以生成高分辨率的图像 他们分解了这个问题 把生成高分辨率图片这个任务分解成两个更为简单的任务 就是文中说的一个GAN生成大致的形状和颜色 第二个GAN生
  • 自主HttpServer实现(C++实战项目)

    文章目录 项目介绍 CGI技术 概念 原理 设计框架 日志文件 TCPServer 任务类 初始化与启动HttpServer HTTP请求结构 HTTP响应结构 线程回调 EndPoint类 EndPoint主体框架 读取HTTP请求 处理
  • tidymodels-workflow工作流

    在阅读这篇文章前 我强烈建议你先读一下tidymodels入门篇 tidymodels用于机器学习的细节 首先对tidymodels有一个整体的认知 今天主要介绍workflow的用法 workflow可以把你的数据预处理步骤和模型连接起来
  • 深聊性能测试,从入门到放弃之:性能测试基准与阶段

    如何做性能测试 1 引言 2 性能测试内容 2 1 基准测试 2 2 日常压力测试 2 3 峰值压力测试 2 4 容量测试 2 5 稳定性测试 3 性能测试阶段 3 1 测试确认 3 2 确定通过标准 3 3 测试设计 3 4 测试环境准备
  • 【问题解决】后端如何以文件流的形式返回本地资源给前端,提供下载服务

    后端以文件流的形式返回本地资源 文件地址 String path PDFpath File file new File PDFpath 读取生成的PDF文件 InputStream inputStream OutputStream outp