Liferay - 使用 portlet 在 Web Content 下创建文件夹和子文件夹

Lifeary - Creating folders and sub folders under Web Content using portlet

我正在努力读取 portlet 中的 excel 数据并将其放在 Web 内容 下并将它们分类到不同的文件夹和子文件夹中。

我发现的只是在文档和媒体库下创建文件和文件夹,而不是在 Web 内容下

https://help.liferay.com/hc/en-us/articles/360029045451-Creating-Files-Folders-and-Shortcuts https://help.liferay.com/hc/en-us/articles/360028725672-Creating-Folders

按照以下步骤使用 DLAppService 方法创建文件夹 addFolder:

获取对 DLAppService 的引用:

@Reference
private DLAppService _dlAppService;

获取填充 addFolder 方法参数所需的数据。由于使用最终用户提交的数据创建文件夹很常见,因此您可以从请求中提取数据。此示例通过 javax.portlet.ActionRequestParamUtil:

long repositoryId = ParamUtil.getLong(actionRequest, "repositoryId");
long parentFolderId = ParamUtil.getLong(actionRequest, "parentFolderId");
String name = ParamUtil.getString(actionRequest, "name");
String description = ParamUtil.getString(actionRequest, "description");

ServiceContext serviceContext = ServiceContextFactory.getInstance(
            DLFolder.class.getName(), actionRequest);

使用上一步的数据调用服务引用的 addFolder 方法:

Folder folder = _dlAppService.addFolder(
                        repositoryId, parentFolderId, name, description, 
                        serviceContext);

请让我知道或指导我如何解决这个问题。

提前致谢。

文档库中,您可以上传和存储文档

Web 内容 下,您可以创建和存储 Web 内容文章

您听起来像是想在 Web 内容下存储文档(例如 excel 文件),而构建这些文件夹并不是为了这个目的。请注意,这不是文件系统,而是组织不同类型内容的不同方式。

所以,解决这个问题的方法就是回到需求,为底层业务问题找到一个可行的技术解决方案。

您通过带有 DL 前缀的 API 创建的任何文件夹都将显示在文档库下。您通过以 Journal 前缀开头的 API 创建的任何文件夹都将显示在 Web 内容下。根本没有重叠。