File 使用API将文件保存到liferay 6.1中的文档目录

File 使用API将文件保存到liferay 6.1中的文档目录,file,upload,liferay,liferay-6,File,Upload,Liferay,Liferay 6,我需要从web表单portlet将上传的文件保存在liferay的Document&Media文件夹的子目录中。 我已经扩展了web表单portlet来实现这一点,但文件已成功上载到数据库中,而不是文档和媒体文件夹中。 我试着用下面的代码将文件上传到文档目录,但没有成功,请帮忙 ThemeDisplay-ThemeDisplay=(ThemeDisplay)actionRequest.getAttribute(WebKeys.THEME\u DISPLAY); 字符串title=file.get

我需要从web表单portlet将上传的文件保存在liferay的Document&Media文件夹的子目录中。
我已经扩展了web表单portlet来实现这一点,但文件已成功上载到数据库中,而不是文档和媒体文件夹中。
我试着用下面的代码将文件上传到文档目录,但没有成功,请帮忙

ThemeDisplay-ThemeDisplay=(ThemeDisplay)actionRequest.getAttribute(WebKeys.THEME\u DISPLAY);
字符串title=file.getName();
DLFolder DLFolder=DLFolderLocalServiceUtil.getFolder(主题显示.getScopeGroupId(),0,“测试”);
ServiceContext ServiceContext=ServiceContextFactory.getInstance(DLFileEntry.class.getName(),actionRequest);
Map fieldsMap=新的HashMap();
long fileEntryTypeId=DLFileEntryTypeConstants.FILE\u ENTRY\u TYPE\u ID\u BASIC\u文档;
FileInputStream inputStream=新的FileInputStream(文件);
DLFileEntry DLFileEntry=DLFileEntryLocalServiceUtil.addFileEntry(主题显示.getUserId(),10153,dlFolder.getRepositoryId(),
dlFolder.getRepositoryId(),标题,file.getContentType(),标题,“fileDesc”,“sss”,
fileEntryTypeId、fieldsMap、file、inputStream、file.length()、serviceContext);
inputStream.close();
DLFileEntryLocalServiceUtil.updateFileEntry(主题显示.getUserId(),dlFileEntry.getFileEntryId(),标题,文件.getContentType(),
标题,“fileDesc”,“comment”,true,dlFileEntry.getFileEntryTypeId(),fieldsMap,file,null,file.length(),serviceContext);
试试这个代码片段

ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest);

File file = uploadRequest.getFile("file");
String contentType = MimeTypesUtil.getContentType(file);

InputStream inputStream  = new FileInputStream(file);

Folder folderName = DLAppLocalServiceUtil.getFolder(parentRepositoryId, 
                                                    parentFolderId, 
                                                    "Folder Name");
long folderId = folderName.getFolderId();
long repositoryId = folderName.getRepositoryId();

FileEntry fileEntry = DLAppLocalServiceUtil.addFileEntry(themeDisplay.getUserId(), 
                                                         repositoryId, 
                                                         folderId, 
                                                         file.getName(), 
                                                         contentType, 
                                                         "File Name", 
                                                         "description", 
                                                         "changeLog", 
                                                         inputStream, 
                                                         file.length(), 
                                                         serviceContext);
请尝试此代码段

ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
ServiceContext serviceContext = ServiceContextFactory.getInstance(actionRequest);

File file = uploadRequest.getFile("file");
String contentType = MimeTypesUtil.getContentType(file);

InputStream inputStream  = new FileInputStream(file);

Folder folderName = DLAppLocalServiceUtil.getFolder(parentRepositoryId, 
                                                    parentFolderId, 
                                                    "Folder Name");
long folderId = folderName.getFolderId();
long repositoryId = folderName.getRepositoryId();

FileEntry fileEntry = DLAppLocalServiceUtil.addFileEntry(themeDisplay.getUserId(), 
                                                         repositoryId, 
                                                         folderId, 
                                                         file.getName(), 
                                                         contentType, 
                                                         "File Name", 
                                                         "description", 
                                                         "changeLog", 
                                                         inputStream, 
                                                         file.length(), 
                                                         serviceContext);

我知道这是个老问题,但我今天也有类似的问题。我使用了
DLFileEntryLocalServiceUtil
,为了正确创建资产,我必须调用
addFileEntry()
updateFileEntry()


请看

我知道这是一个老问题,但今天我遇到了类似的问题。我使用了
DLFileEntryLocalServiceUtil
,为了正确创建资产,我必须调用
addFileEntry()
updateFileEntry()


请参见

这甚至不编译-重复使用
文件
,我在中找不到
DLFileEntryLocalServiceUtil
的此接口。请检查Hi Olaf谢谢回复。我是liferay的新手。我已经编辑了我的查询,你能看一下吗。。谢谢这里的
文件
是什么数据类型?我也有类似的问题,但至少对于
java.io.File
我没有名为
getContentType()
的方法。此外,groupId 10153指的是什么?我不知道在那里输入什么。这甚至没有编译-重复使用
文件
,我在中找不到
DLFileEntryLocalServiceUtil
的这个接口。请检查Hi Olaf谢谢回复。我是liferay的新手。我已经编辑了我的查询,你能看一下吗。。谢谢这里的
文件
是什么数据类型?我也有类似的问题,但至少对于
java.io.File
我没有名为
getContentType()
的方法。此外,groupId 10153指的是什么?我不知道在那里输入什么。什么是
parentRepositoryId
parentFolderId
?我想以用户的身份上传一个文件,如果有用户的主文件夹或类似的东西,对我来说就可以了。什么是
parentRepositoryId
parentFolderId
?我想上传一个文件作为一个用户,如果有一个主文件夹的用户或类似的东西,这将是罚款为我。