flowable导出 bpmn.xml

    @Override
    public void downLoadXmlByModelId(String modelId, HttpServletResponse response) {
    
    
        if (StringUtils.isBlank(modelId)) {
    
    
            return;
        }
        response.setContentType("text/html; charset=UTF-8"); //转码
        try {
    
    
            org.flowable.ui.modeler.domain.Model modelDatas = modelService.getModel(modelId);
            BpmnModel models = modelService.getBpmnModel(modelDatas);
            byte[] bpmnBytess = new BpmnXMLConverter().convertToXML(models);
            ByteArrayInputStream in = new ByteArrayInputStream(bpmnBytess);
            String filename = models.getMainProcess().getId() + ".bpmn20.xml";
            response.setContentType("application/xml");
            response.setHeader("Content-Disposition", "attachment; filename=" + filename);
            IOUtils.copy(in, response.getOutputStream());  //这句必须放到setHeader下面,否则10K以上的xml无法导出,
            response.flushBuffer();
        } catch (IOException e) {
    
    
            LOGGER.info("导出失败,失败信息为"+e.getMessage());
        }
    }

猜你喜欢

转载自blog.csdn.net/qq_36213455/article/details/109066818
今日推荐