springboot将对象输出成文件流传到前端
springboot将对象输出成文件流传到前端
依赖
cn.hutool hutool-all 5.7.20
Controller
/**
* TITLE 测试
*
* @author chunhelv
* @date 2022/6/9 13:46
* @version p1
* @param vo Test
* @description
*/
@Operation(summary = "测试", method = "POST", description = "测试")
@PostMapping(value = "/test")
public void unpack(
@Valid @RequestBody Vo vo,
HttpServletRequest requests, HttpServletResponse response
) {
log.info("xxx/test Vo :{}" , vo.toString());
testService.unpack(vo, response);
}
service
public void unpack(Vo vo, HttpServletResponse response) {
Test resVo = new Test();
//生成文件名 eg:Local_V1.0.0_66666
String name = "Local" + "_" + xxx.getVersion() + "_" + (int) ((Math.random() * 9 + 1) * 10000);
//打包成.json文件
try (OutputStream outputStream = response.getOutputStream()
) {
JSONObject object = new JSONObject(resVo);
String jsonStr = object.toString();
byte[] bytes = jsonStr.getBytes(StandardCharsets.UTF_8);
// 全文件类型(传什么文件返回什么文件流)
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition", "attachment; filename=\"" + name + ".json" + "\"");
response.setHeader("Accept-Ranges", "bytes");
outputStream.write(bytes);
// 将缓存区数据进行输出
outputStream.flush();
} catch (IOException e) {
log.error("unpack error : ", e);
}
}
运行
运行后进入swagger即可下载文件
http://localhost:8080/swagger-ui/index.html
springboot将对象输出成文件流传到前端的更多相关文章
- tee---读取标准输入,将内容输出成文件
- 使用SharpCompress压缩文件后把压缩的文件流传给前端
1 SharpCompress版本 0.30.1 2 应用场景:前端传递某个标识符,如Id,查询和该Id相关联的文件,并把文件压缩,最后返回给前端.适用于压缩多个体积较小的文件,如果文件体系过大,可能 ...
- SpringBoot系列——Logback日志,输出到文件以及实时输出到web页面
前言 SpringBoot对所有内部日志使用通用日志记录,但保留底层日志实现.为Java Util Logging.Log4J2和Logback提供了默认配置.在不同的情况下,日志记录器都预先配置为使 ...
- Python自动化运维之4、格式化输出、文件对象
Python格式化输出: Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[P ...
- 微软BI 之SSIS 系列 - 两种将 SQL Server 数据库数据输出成 XML 文件的方法
开篇介绍 在 SSIS 中并没有直接提供从数据源到 XML 的转换输出,Destination 的输出对象有 Excel File, Flat File, Database 等,但是并没有直接提供 X ...
- android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件
前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...
- html5中将图片的绝对路径转换成文件对象
html5中将图片的绝对路径转换成文件对象 将图片的绝对路径转换成base64编码,请看这篇文章 我们先来理解基本知识点: 1. 理解HTML5中的FileList对象与file对象. 在HTML5中 ...
- 【Python】将对象存成json文件及从json取出对象
常用代码,单拎出来以备查. 对象存json文件: import json obj={'name':'张有财','age':39,'arr':[2,34,5,6,7,88,'李有钱']} with op ...
- WPF中实现图片文件转换成Visual对象,Viewport3D对象转换成图片
原文:WPF中实现图片文件转换成Visual对象,Viewport3D对象转换成图片 1.图片文件转换成Visual对象 private Visual CreateVisual(string imag ...
- springboot日志输出到文件
今天来谈一谈日志,主要是说一说springboot的日志,因为最近在学习springboot.首先在写代码的时候,要养成记日志的习惯,这点真的很重要,因为之前吃了很多亏.过去我对日志很不在意,该有的日 ...
随机推荐
- runoob-scala
https://www.runoob.com/scala/scala-tutorial.html Scala 简介 Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成 ...
- Websocket详细讲解
因为websocket的内容比较多,所以准备分解将基础篇主要讨论一下websocket的概念,websocket和http协议的区别,客户端的websocket以及服务端的websocket,中间穿插 ...
- 重写equals()方法(idea生成的高效方法)
equals 方法Object 类中的 equals 方法用于检测一个对象是否等于另外一个对象.在 Object 类中,这个方法将判断两个对象是否具有相同的引用.如果两个对象具有相同的引用, 它们一定 ...
- [Java] Solon 框架的三大核心组件之一插件扩展体系
1.Solon 的三大核心组件 核心组件 说明 Plugin 插件扩展机制 提供"编码风格"的扩展体系 Ioc/Aop 应用容器 提供基于注入依赖的自动装配体系 Context+H ...
- VirtualBox配置安装入门(Linux连不上网络和设置共享文件夹)
VirtualBox配置安装入门 一.设置虚拟网卡 1.安装了虚拟机之后,可以在网络选择网卡 网络分为网络地址转换(NAT).桥接网卡.内部网络.仅主机(Host-Only)网络,通用驱动.NAT网络 ...
- 云迁移中的CT-CMS任务操作指南
本文分享自天翼云开发者社区<云迁移中的CT-CMS任务操作指南>,作者:每日知识小分享 随着企业业务的快速发展和数据量的不断增长,传统的IT架构逐渐面临性能瓶颈.扩展性不足等问题.为了解决 ...
- Luogu P11230 CSP-J 2024 接龙 题解 [ 线性 dp ] [ 前缀和 ]
接龙:一个前缀和优化 dp 或者单调队列优化 dp 的题目. 怎么周围的人都秒了 T3 不会 T4 啊,只有我觉得 T4 很套路,T3 比较难写吗. 暴力 dp 为了避免多维的状态定义,我们把每个人的 ...
- 全面详解C语言使用cJSON解析JSON字符[转载]
cJSON对象的实现采用了树形结构,每个对象是树的一个节点,每个节点由cJSON这个结构体组成,对象中的元素也由cJSON这个结构体组成.同一层的对象和元素是双向链表结构,由next和prev指针链接 ...
- Flink学习(五) Flink 的核心语义和架构模型
Flink 的核心语义和架构模型我们在讲解 Flink 程序的编程模型之前,先来了解一下 Flink 中的 Streams.State.Time 等核心概念和基础语义,以及 Flink 提供的不同层级 ...
- 【ABAQUS脚本】后处理快速出图
效果图: # -*- coding: utf-8 -*- # Do not delete the following import lines from abaqus import * from ab ...