任何人都知道如何从 DLFileEntry
检索 contentStream (http://docs.liferay.com/portal/6.0/javadocs/com/liferay/portlet/documentlibrary/model/DLFileEntry.html ) 使用 httpservlet?
我尝试使用 DLFileEntry.getContentStream()
但它没有给出错误
com.liferay.portal.security.auth.PrincipalException: PermissionChecker not initialized
我部分解决了设置硬编码我的 userId 的问题:
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)
给你文件。你试过用这个吗?
关于java - Liferay 从文件入口到 java 文件对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10806837/