activiti根據流程例項id查詢資原始檔(xml、image)
阿新 • • 發佈:2019-01-12
/** * 讀取資源,通過部署ID * * @param processDefinitionId * 流程定義 * @param resourceType * 資源型別(xml|image) * @throws Exception */ @RequestMapping(value = "/resource/read") public void loadByDeployment(@RequestParam("processDefinitionId") String processDefinitionId, @RequestParam("resourceType") String resourceType, HttpServletResponse response){ ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery() .processDefinitionId(processDefinitionId).singleResult(); String resourceName = ""; if (resourceType.equals("image")) { resourceName = processDefinition.getDiagramResourceName(); } else if(resourceType.equals("xml")) { resourceName = processDefinition.getResourceName(); } InputStream resourceAsStream = repositoryService.getResourceAsStream(processDefinition.getDeploymentId(), resourceName); byte[] b = new byte[1024]; int len = -1; try { while((len = resourceAsStream.read(b, 0, 1024)) != -1) { response.getOutputStream().write(b, 0, len); } } catch (IOException e) { log.error("查詢流程資源失敗", e); } }