我可以为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);
// * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * NOW * ** * ** * ** * ** * * * * ** * ** * ** * **
答案 0 :(得分:0)
你的问题不太清楚。
如果您在谈论在以编程方式上传文档时是否会应用Liferay的工作流程?如果您已选择文档库portlet的工作流定义,则答案为是。
您可以在我的工作流任务下的控制面板中找到工作流任务。
答案 1 :(得分:0)
假设您有自定义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 之后调用 updateFilEntry 方法。它实际上做了两件事,
希望这有帮助。