【发布时间】:2013-07-28 23:04:50
【问题描述】:
我需要从 web-form portlet 将上传的文件保存在 Liferay 中 Document & Media 文件夹的子目录中。
我已经扩展了 Web 表单 portlet 来执行此操作,但文件已成功上传到数据库中,而不是文档和媒体文件夹中。
我尝试使用以下代码将文件上传到文档目录中,但没有成功,请帮忙。
ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
String title = file.getName();
DLFolder dlFolder = DLFolderLocalServiceUtil.getFolder(themeDisplay.getScopeGroupId(), 0, "Test");
ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(),actionRequest);
Map<String, Fields> fieldsMap = new HashMap<String, Fields>();
long fileEntryTypeId = DLFileEntryTypeConstants.FILE_ENTRY_TYPE_ID_BASIC_DOCUMENT;
FileInputStream inputStream = new FileInputStream(file);
DLFileEntry dlFileEntry = DLFileEntryLocalServiceUtil.addFileEntry(themeDisplay.getUserId(), 10153, dlFolder.getRepositoryId(),
dlFolder.getRepositoryId(), title, file.getContentType(), title, "fileDesc", "sss",
fileEntryTypeId, fieldsMap, file, inputStream, file.length(), serviceContext);
inputStream.close();
DLFileEntryLocalServiceUtil.updateFileEntry(themeDisplay.getUserId(), dlFileEntry.getFileEntryId(), title, file.getContentType(),
title, "fileDesc", "comment", true, dlFileEntry.getFileEntryTypeId(), fieldsMap, file, null, file.length(), serviceContext);
【问题讨论】:
-
这甚至不能编译-重复使用
file,我在docs.liferay.com/portal/6.1/javadocs-all/com/liferay/portlet/…中找不到DLFileEntryLocalServiceUtil的这个接口。请检查 -
嗨奥拉夫感谢您的回复。我是 liferay 的新手。我已经编辑了我的查询,请您看一下。谢谢
-
file这里是什么数据类型?我有类似的问题,但至少对于java.io.File,我没有一个名为getContentType()的方法。 -
另外,groupId 10153 指的是什么?我不知道在那里输入什么。
标签: file upload liferay liferay-6