activiti7 导出bpmn文件
最近在学习springboot+activiti7整合,想做一个导出bpmn文件的功能,查了相关资料,最后没有实现。最后查看了一下代码 找到了方法 如下所示
@GetMapping("export")
@Transactional
public void export(@RequestParam("definitionId") String processInstanceId, HttpServletResponse response) {
BufferedOutputStream bos = null;
try {
try {
RepositoryService repositoryService = ProcessEngines.getDefaultProcessEngine().getRepositoryService();
//
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processInstanceId).singleResult();
InputStream inputStream = repositoryService
.getProcessModel(processInstanceId);
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
byte[] bpmnBytes = new byte[1024]; //buff用于存放循环读取的临时数据
int rc = 0;
while ((rc = inputStream.read(bpmnBytes, 0, 100)) > 0) {
swapStream.write(bpmnBytes, 0, rc);
}
byte[] in_b = swapStream.toByteArray(); //in_b为转换之后的结果
// 封装输出流
bos = new BufferedOutputStream(response.getOutputStream());
bos.write(in_b);// 写入流
String filename = processDefinition.getName() + ".bpmn";
response.setContentType("application/x-msdownload;");
response.setHeader("Content-Disposition",
"attachment; filename=" + filename);
response.flushBuffer();
} finally {
bos.flush();
bos.close();
}
} catch (Exception e) {
System.out.println("导出文件失败");
e.printStackTrace();
}
}
其中
InputStream inputStream = repositoryService
.getProcessModel(processInstanceId); 可以获取bpmn文件流 直接操作导出即可
activiti7 导出bpmn文件的更多相关文章
- .Net导出pdf文件,C#实现pdf导出
最近碰见个需求需要实现导出pdf文件,上网查了下代码资料总结了以下代码.可以成功的实现导出pdf文件. 在编码前需要在网上下载个itextsharp.dll,此程序集是必备的.楼主下载的是5.0版本, ...
- Java Keytools 证书转换成Openssl 的PEM 文件或keytools 导出私钥文件
上一遍又说到Godaddy 生请证书流程与操作: 现因使用Incapsula 防护使用到https,在添加网站时需要自定义证书,其中需要上传私钥信息,因公钥是能过keytool 生成所以需要导出私钥信 ...
- 导出csv文件示例
导出csv文件示例 csv文件默认以英文逗号,做为列分隔符换行符\n作为行分隔符,写入到一个.csv文件即可.含有英文逗号,和换行符会发生数据输出会出现混乱,下面列出一些处理方法.特殊字符处理1.含有 ...
- 一个苹果证书如何多次使用——导出p12文件
一个苹果证书怎么多次使用--导出p12文件 为什么要导出.p12文件 当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了 ...
- ExtJS Grid导出excel文件
ExtJS Grid导出excel文件, 需下载POI:链接:http://pan.baidu.com/s/1i3lkPhF 密码:rqbg 1.将Grid表格数据连同表格列名传到后台 2.后台导出e ...
- ReportViewer 不预览,直接导出 PDF文件
作为笔记记着,以免以后再到处找资料 1. 在不预览的情况下导出文件 先看一个方法说明,想知道ReportViewer支持导出哪些文件类型,在Render方法说明中就有描述 // // Summary: ...
- asp.net(C#) Excel导出类 导出.xls文件
---恢复内容开始--- using Microsoft.Office.Interop.Excel; 针对office 2003需添加引用Microsoft Excel 11.0 Obje ...
- PHP从数据库导出EXCEL文件
参考博客链接:http://www.cnblogs.com/huangcong/p/3687665.html 我的程序代码 原生导出Excel文件 <?phpheader('Content-ty ...
- Magcodes.WeiChat——通过CsvFileResult以及DataAnnotations实现导出CSV文件
我们先来看看效果图: 从上图中可以看出,导出的文件中列名与表格名称保持一致,并且忽略了某些字段. 相关代码实现 我们来看相关代码: 页面代码: @using (Html.BeginForm(" ...
随机推荐
- let import export React入门实例教程 connect provider combineReducers 箭头函数 30分钟掌握ES6/ES2015核心内容 Rest babel
let与var的区别 http://www.cnblogs.com/snandy/archive/2015/05/10/4485832.html es6 导入导出 http://www.csdn.ne ...
- zabbix + grafana 展示
环境CentOS 7.5 一,grafana 安装. 1,配置yum源 cat > /etc/yum.repos.d/grafana.repo <<EOF [grafana] nam ...
- Beautiful Soup 4 方法便捷查询
目录 BS4便捷查询 属性 子节点 父节点 兄弟节点 格式化输出 搜索文档树 修改文档树 BS4便捷查询 准备 : import requests, re from bs4 import Beauti ...
- 使用Xshell的rz命令上传文件失败的解决方法
使用Xshell的rz命令上传文件失败的解决方法 第一种:在home目录下rz上传文件失败,如下: 原因:当前用户不具备权限解决:用 sudo rz 上传即可成功 第二种:对于文件大的rz上传失败的话 ...
- python数据处理(二)之处理Excel文件
代码与资料 https://github.com/jackiekazil/data-wrangling 1.安装相关包 2.解析Excel文件 在解析Excel之前应该想办法寻找替代的格式 3.开始解 ...
- DirectX11 With Windows SDK--34 位移贴图
前言 在前面的章节中,我们学到了法线贴图和曲面细分.现在我们可以将这两者进行结合以改善效果,因为法线贴图仅仅只是改善了光照的细节,但它并没有从根本上改善几何体的细节.从某种意义上来说,法线贴图只是一个 ...
- JVM详解之:运行时常量池
目录 简介 class文件中的常量池 运行时常量池 静态常量详解 String常量 数字常量 符号引用详解 String Pool字符串常量池 总结 简介 JVM在运行的时候会对class文件进行加载 ...
- OSCP Learning Notes - Exploit(1)
Gaining Root with Metasploit Platform: Kali Linux, Kioptrix Level 1 1. Find the IP of Kioptirx nmap ...
- [spring] -- AOP、IOC、DI篇
AOP(面向切面编程) 怎么理解这个切面编程的概念及优点? 概念: 横切关注点与业务逻辑相分离,切面能帮助我们模块化横切关注点: 优点: 现在每个关注点都集中于一个地方,而不是分散到多处代码中: 服务 ...
- python-多任务编程03-迭代器(iterator)
迭代器是一个可以记住遍历的位置的对象.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退. 可迭代对象(Iterable) 能够被循环遍历(迭代)的对象称为可迭代 ...