流程定义资源文件下载

简介: 流程定义资源文件下载

下载流程定义资源文件

有两种方式

方案1 使用activiti提供的api来下载资源文件 方案2 自己写代码从数据库中下载文件,使用jdbc对blob和clob类型数据读取出来,保存到文件目录 需要解决io操作:使用commons-io.jar

网络异常,图片无法展示
|

因为上面已经把我们的流程删除了,我们需要重新执行代码部署一个新的流程,重新执行部署和启动(实例化)

网络异常,图片无法展示
|

这里我们选择使用activiti提供的api进行操作

首先引入commons-io解决io操作

<!--通过commons-io解决io问题-->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.6</version>
</dependency>

然后就可以写代码了,我们直接在代码指定输出目录.即D盘

// 下载流程资源文件
// 方案1 使用activiti提供的api来下载资源文件
// 方案2 自己写代码从数据库中下载文件,使用jdbc对blob和clob类型数据读取出来,保存到文件目录
// 需要解决io操作:使用commons-io.jar
// 这里我们选择使用方案1去操作
@Test
public void downloadProcessFile() throws Exception {
    // 获取流程引擎
    ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    // 获取RepositoryService
    RepositoryService repositoryService = processEngine.getRepositoryService();
    // 获取查询对象ProcessDefinitionQuery,查询流程定义信息
    ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
            .processDefinitionKey("myEvection")
            .singleResult();
    // 通过流程定义信息,获取部署ID
    String deploymentId = processDefinition.getDeploymentId();
    // 通过RepositoryService,传递ID参数,读取资源文件(png和bpmn)
    // 从流程定义中,获取图片png图片的目录和名字
    String pngResourceName = processDefinition.getDiagramResourceName();
    // 通过部署id和文件名称获取png图片的流
    InputStream pngInInputStream = repositoryService.getResourceAsStream(deploymentId, pngResourceName);
    // 获取bpmn文件的流
    String bpmnResourceName = processDefinition.getResourceName();
    InputStream bpmnInputStream = repositoryService.getResourceAsStream(deploymentId, bpmnResourceName);
    // 构造OutputStream输出流 输出路径
    File pngFile = new File("d:/evectionFlow01.png");
    File bpmnFile = new File("d:/evectionFlow01.bpmn");
    FileOutputStream pngOutputStream = new FileOutputStream(pngFile);
    FileOutputStream bpmnOutputStream = new FileOutputStream(bpmnFile);
    // 输出流,和输出流的转换
    IOUtils.copy(pngInInputStream,pngOutputStream);
    IOUtils.copy(bpmnInputStream,bpmnOutputStream);
    // 关闭流
    pngOutputStream.close();
    bpmnInputStream.close();
    pngInInputStream.close();
    bpmnInputStream.close();
}

运行代码 效果展示 在d盘找到了这两个文件 打开也是一样的

网络异常,图片无法展示
|

相关文章
|
2月前
|
运维 Devops
云效产品使用报错问题之代码域修改配置后,删除了代码组,代码未删除,但是项目现在看不到了,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
2月前
|
API 数据库
Activiti 流程资源文件下载及历史信息查询
Activiti 流程资源文件下载及历史信息查询
30 0
|
2天前
|
搜索推荐 API UED
资源部署及场景API调用体验过程的引导与操作流畅性
资源部署及场景API调用体验过程的引导与操作流畅性
|
9天前
|
JSON JavaScript 前端开发
若依修改,若依如何发送get和post请求,发送数据请求的写法,若依请求的API在src的api文件下,建立请求的第一步,在API中新建一个文件,第二步新建JavaScript文件
若依修改,若依如何发送get和post请求,发送数据请求的写法,若依请求的API在src的api文件下,建立请求的第一步,在API中新建一个文件,第二步新建JavaScript文件
|
2月前
|
人工智能 Serverless 对象存储
让你的文档从静态展示到一键部署可操作验证
好的文档应当超越文字的界限,成为知识传递和技能培养的桥梁。阿里云函数计算让我们朝着这一目标迈出了重要一步。我们将文档从传统的静态页面升级为一个动态的、互动性强的工具,用户可以通过一键部署直接在函数计算平台验证文档内容。
158 0
|
2月前
|
小程序 开发者
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
92 0
|
文件存储
Yii2.0框架提供了内置的文件访问组件,可以通过配置只允许访问指定的目录,防止非法文件的包含。这个如何使用?
Yii2.0框架提供了内置的文件访问组件,可以通过配置只允许访问指定的目录,防止非法文件的包含。这个如何使用?
123 0
|
Python
跨文件夹调用自定义模块
跨文件夹调用自定义模块
56 0
|
Java 应用服务中间件 Linux
springboot上传下载文件(1)(项目和文件资源放在同一个服务器上)
springboot上传下载文件(1)(项目和文件资源放在同一个服务器上)
300 0
springboot上传下载文件(1)(项目和文件资源放在同一个服务器上)
|
Java Spring 容器
开发20年,你可知道SpringWeb接口资源是如何保存起来的?
我们在浏览器上只输入了一个URL地址,怎么就能访问到这个接口的呢?于是乎就引出了 今天我们要讨论的话题。Spring中的Web接口资源是如何保存起来的?
210 0