Workflow 如何启动以编程方式上载的文件的工作流

Workflow 如何启动以编程方式上载的文件的工作流,workflow,liferay,liferay-6,document-library,Workflow,Liferay,Liferay 6,Document Library,我可以启动liferay文档和库中上载文件的工作流吗 这是我的密码: DLFolder dlFolder = DLFolderLocalServiceUtil.getFolder(themeDisplay.getScopeGroupId(), 0, "Test"); ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(), actionRequest); file

我可以启动liferay文档和库中上载文件的工作流吗

这是我的密码:

DLFolder dlFolder = DLFolderLocalServiceUtil.getFolder(themeDisplay.getScopeGroupId(), 0, "Test");
ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(),
actionRequest);

fileEntry = DLFileEntryServiceUtil.addFileEntry(dlFolder.getGroupId(), dlFolder.getRepositoryId(), dlFolder.getFolderId() ,file.getName(),"" ,title,"test", null, dlFolder.getDefaultFileEntryTypeId(), null, file, null, file.getUsableSpace(), serviceContext);
//******************************************************现在************************************************

  • 如何启动已上载文件的工作流
  • 已启动的工作流,测试文件夹中所有文件的工作流是否相同

    • 你的问题不太清楚

      如果您正在谈论以编程方式上载文档时是否会应用Liferay的工作流?若您已经为文档库portlet选择了工作流定义,那个么答案将是“是”


      您将在“我的工作流任务”下的“控制面板”中找到“工作流任务”。

      假设您有一个自定义portlet,并且您试图上载文档的文件夹中有工作流

      DLFolder dlFolder = DLFolderLocalServiceUtil.getFolder(themeDisplay.getScopeGroupId(), 0, "Test");
      ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(),
      actionRequest);
      
      FileInputStream is = new FileInputStream(file);
      DLFileEntry fileEntry = DLFileEntryServiceUtil.addFileEntry(dlFolder.getGroupId(), dlFolder.getRepositoryId(), dlFolder.getFolderId() ,
                                  file.getName(),MimeTypesUtil.getContentType(file) ,title,"test", StringPool.BLANK, 
                                  dlFolder.getDefaultFileEntryTypeId(), null, file, is,
                                  file.length(), serviceContext);
      DLFileEntryLocalServiceUtil.updateFileEntry(userId, fileEntry.getFileEntryId(), file.getName(), MimeTypesUtil.getContentType(file), 
              title(), "test", StringPool.BLANK, Boolean.FALSE, dlFileEntry.getFileEntryTypeId(), null, file, is,
              file.length(), serviceContext)
      
      您应该在addFileEntry之后调用UpdateFileEntry方法。它实际上做了两件事

    • 它将文档的状态从草稿更改为草稿
    • 它调用工作流

    • 希望这有帮助。

      是的,问题是这个。我能知道怎么做吗?(对代码)请。我刚刚为文档库portlet选择了工作流定义,但当我使用此代码以编程方式添加文件时,不会启动,而是将其作为草稿添加到文件夹中,而不是挂起。如果我没有错,您创建了一个自定义的文件上载portlet..并且您希望在上载文件后立即启动工作流