Activiti获取工作流 流程图

这个方法用于查看和下载Activiti工作流的流程图及实例图。通过指定processId,能获取当前执行的工作流实例的节点信息,并以PNG格式下载。如果在获取流程图资源时发生错误,会抛出异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该方法可以查看工作流模型的设计图

public void QueryPNG(string method, SyncContext context)

        {
            //method = "/process-definition/FileAuthUser:14:6962/diagram";// 测试获取流程图的图片
            var api = new WFOperator(context.Context);//实例化工作流对象
            var content = api.Call(Method.GET, method, null);
            byte[] data = content.RawBytes;//获取到的数据
            if (Encoding.Default.GetString(data).Contains("error"))
            {
                string errorMessage = Encoding.Default.GetString(data);
                JObject error = JObject.Parse(errorMessage);
                // 抛出异常信息,客户端显示
                throw new Exception("图片资源访问错误:" + error.Value<string>("errorMessage"));

            }

//将获取到的流程图下载下载到本地

            var response = context.Response;
            response.ClearContent();
            response.ContentType = "image/png";
            response.AddHeader("Content-Disposition", "attachment;filename=1.png");
            response.AddHeader("Content-Length", data.Length.ToString(CultureInfo.InvariantCulture));
            response.BinaryWrite(data);
            response.Flush();

        }


该方法可以查看当前执行的工作流的实例图,可以查看当前执行的节点信息

参数:string processId,

 var method = "/process-instance/{0}/diagram";// 测试获取流程图的图片
            method = string.Format(method, processId);
            var context = syncContext;
            var api = new WFOperator(context.Context);
            var content = api.Call(Method.GET, method, null);
            byte[] data = content.RawBytes;
            if (Encoding.Default.GetString(data).Contains("error"))
            {
                string errorMessage = Encoding.Default.GetString(data);
                JObject error = JObject.Parse(errorMessage);
                // 抛出异常信息,客户端显示
                throw new Exception("图片资源访问错误:" + error.Value<string>("errorMessage"));
            }
            var response = context.Response;
            response.ClearContent();
            response.ContentType = "image/png";
            response.AddHeader("Content-Disposition", "attachment;filename=1.png");
            response.AddHeader("Content-Length", data.Length.ToString(CultureInfo.InvariantCulture));
            response.BinaryWrite(data);
            response.Flush();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值