使用下面的一串代码的前提:已知流程部署ID,中间可能会由于空指针异常而报错,使用时需个人进行优化

需要注意的是下面的这一串代码中,各种服务是通过ActivitiRule而创建的,而ActivitiRule这个是在测试环境下面才能使用的类,开发时可以使用自动注解来创建Activiti6的7大服务接口。

/*** 根据流程部署ID获取流程部署图片文件输入流,并将其写到指定的文件中*/
public void viewImage() throws Exception{String deploymentId="流程部署ID";RepositoryService repositoryService=activitiRule.getRepositoryService();List<String> names=repositoryService.getDeploymentResourceNames(deploymentId);String imageName=null;for(String name:names){if(name.indexOf(".png")>=0){imageName=name;}}InputStream  in=null;File f=new File("d:/"+imageName);if(imageName!=null){in=repositoryService.getResourceAsStream(deploymentId,imageName);}OutputStream outputStream = new FileOutputStream(f);byte[] bytes = new byte[1024];int rc = 0;while ((rc = in.read(bytes, 0, 100)) > 0) {outputStream.write(bytes, 0, rc);}in.close();outputStream.close();
}

将文件输入流写入到输出流中,在页面中以Image 标签的src属性接收就可以获取该输出流作为一个图片进行展示。

OutputStream outputStream= response.getOutputStream();
for(int b=-1;(b=in.read())!=-1;){outputStream.write(b);
}
in.close();
outputStream.close();
<body><image src="/demo/get"/>
</body>

SpringBoot项目中,获取流程定义图并将其以图片形式在页面中进行展示

/*** 将输入流回显到输出流中*/
@RequestMapping("/get")
public void getData(HttpServletRequest request, HttpServletResponse response) throws Exception{String deploymentId="7501";List<String> names=repositoryService.getDeploymentResourceNames(deploymentId);String imageName=null;for(String name:names){if(name.indexOf(".png")>=0){imageName=name;}}InputStream in=null;File f=new File("d:/"+imageName);if(imageName!=null){in=repositoryService.getResourceAsStream(deploymentId,imageName);}OutputStream outputStream= response.getOutputStream();for(int b=-1;(b=in.read())!=-1;){outputStream.write(b);}in.close();outputStream.close();}

根据流程部署ID来获取流程定义图片相关推荐

  1. Python:批量增强图片清晰度 ——基于百度API,含获取的AK、 SK的流程,access_token的获取流程,以及生成.exe文件

    Python:批量增强图片清晰度 --基于百度API,含获取的AK. SK的流程,access_token的获取流程,以及生成.exe文件 最近需要提高一些图片的清晰度,但一张张的去弄太费时间了,所以 ...

  2. 2、流程部署-上传到服务数据库,查看当前正在执行任务

    流程部署-上传到服务数据库,正在执行任务 1.部署单个BPMN文件到服务 2.1次部署多个BPMN文件 3.流程定义信息查询 4.查询流程下正在跑的任务 5.删除流程部署信息 6.流程资源下载 1.部 ...

  3. JAVAWEB开发之工作流详解(二)——Activiti核心API的使用(流程定义和流程实例的管理、流程变量、监听器...)以及与Spring的集成

    管理流程定义 设计流程定义文档 bpmn文件 设置方式可以直接使用插件图形化界面进行设置 为某任务节点指定任务执行者 保存后的BPMN文件可以使用XML编辑器打开 BPMN 2.0根节点是defini ...

  4. activiti 根据 流程实例ID 获取发起人

    /**获取发起人* @param PROC_INST_ID_ //流程实例ID* @from fhadmin.cn*/protected String getInitiator(String PROC ...

  5. 工作流流程部署 一般功能代码

    <!DOCTYPE html> <html lang="zh" xmlns:th="http://www.thymeleaf.org" xml ...

  6. Flowable实战(三)流程部署管理

    一.流程定义的版本   当部署流程定义时,数据库中的流程定义会是这个样子: id key name version myProcess:1:676 myProcess My important pro ...

  7. java中bpmn流程图_Java学习之BPMN知识以及Activiti的流程部署

    BPMN的介绍 Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和 ...

  8. Activiti 流程部署方式 activi 动态部署(高级源码篇)

    Activiti 流程部署方式 activi 动态部署 目录 概 述 第一种方法: 设计流程引擎: 相关工具如下: 分析: 小结: 参考资料和推荐阅读 LD is tigger forever,CG ...

  9. flowable工作流-BPMN流程部署

    BPMN相关基础 在画流程图之前,首先需要了解BPMN的一些基础知识:开始.结束事件.用户任务.任务受让人.任务审核人.网关等一些基础知识,具体可以参考官方文档,介绍的很详细,也比较容易理解.BPMN ...

最新文章

  1. tiny-cnn开源库的使用(MNIST)
  2. 一种解决 MacBook 里的 App Store 无法登录的问题
  3. C++抽象基类和纯虚成员函数
  4. java读写锁降级_java的读写锁中锁降级的问题
  5. Linux显示某文件中有关某字符串的信息
  6. WebSocket FlashSocket
  7. linux的crontab监控,通过crontab自动监测与管理表空间
  8. 三、 vSphere 6.7 U1(三):部署AD和DNS
  9. UVA 11090 Going in Cycle!! 二分答案 + bellman-ford
  10. MySQL数据库基本用法-查询
  11. 2016 英语作文二
  12. redis通过lua脚本实现分布式锁
  13. 修改Unity中Lua文件的默认打开程序
  14. 数据大屏产品介绍PPT_【达索系统】 Ortems APS产品介绍 PPT
  15. php目录结构 modules,目录结构
  16. 应届毕业生求职,注意事项
  17. 【实战篇】——keras合并多个模型
  18. Open Inventor 10.9.2 Crack
  19. windows的cmd常用命令
  20. python爬虫拖动滚动条到底部/顶部/指定元素处

热门文章

  1. git提交大文件的解决方法
  2. 广告深度预估技术在美团到店场景下的突破与畅想
  3. 【报告分享】2021年品牌CDP与营销数字化转型报告.pdf(附下载链接)
  4. 【白皮书分享】2020年短视频全链路营销白皮书.pdf(附下载链接)
  5. 面向科研的推荐系统Benchmark诞生!
  6. 数学建模:评价模型——聚类分析 K-Means python实现
  7. Leetcode每日一题:842.split-array-into-fibonacci-sequenc(将数组拆分成斐波那契序列)
  8. CN笔记:第三章 链路层
  9. ROS入门-4.安装ROS系统(ubuntu20.04版本安装ros的noetic版本)
  10. 蓝桥杯 基础练习 Sine之舞