编程语言
首页 > 编程语言> > Liferay从Fileentry到Java文件对象

Liferay从Fileentry到Java文件对象

作者:互联网

有人知道如何使用httpservlet从DLFileEntry(http://docs.liferay.com/portal/6.0/javadocs/com/liferay/portlet/documentlibrary/model/DLFileEntry.html)检索contentStream吗?

我尝试使用DLFileEntry.getContentStream(),但它失败,给我错误

com.liferay.portal.security.auth.PrincipalException: PermissionChecker not initialized

我部分解决了设置用户ID硬编码的问题:

long userId=2

            PrincipalThreadLocal.setName(userId);

            User user = UserLocalServiceUtil.getUserById(userId);

            PermissionChecker permissionChecker;

                permissionChecker = PermissionCheckerFactoryUtil.create(user, false);

            PermissionThreadLocal.setPermissionChecker(permissionChecker);

该解决方案的问题是如何获取真实的userId,以及如果用户是访客,该如何处理?

我尝试了Long.parseLong(req.getRemoteUser());但也失败了

解决方法:

DLFileEntryLocalServiceUtil.getFile(userId, fileEntryId, version, incrementCounter) 

给你文件.你试过用这个吗?

标签:document-library,file,liferay,java
来源: https://codeday.me/bug/20191201/2079569.html