我需要一个像DLFileEntryLocalServiceUtil.getFileAsStream(...)
.However这样的方法,我在我的应用程序中使用Liferay的SOAP服务。
有没有办法获取文档的文件流,或者获取字节数组之类的文件。
发布于 2014-10-01 16:39:49
如果您正在使用Liferay的SOAP服务,则不能使用“本地”服务,而必须使用DLFileEntryService。(请注意名称中缺少的"Local“部分)。
本地服务仅通过Java可用,不涉及权限检查。远程服务确实涉及权限检查,并且也可以通过SOAP使用,这需要身份验证。
请回复您的评论:我发现通过SOAP没有可用的getFileAsStream
(因为InputStream
无法正确序列化)。您可能需要编写自己的服务端点来处理数据。在实现端,您可以转发到DLFileEntryService
。请确保您有文件大小的上限,因为您不是在流式传输。
您如何做到这一点?编写你自己的插件,添加一个空的实体到一个新的Liferay服务,并实现你需要的方法。由于实现只是重新格式化数据,但通常会转发到DLFileEntryService
,因此它应该非常简单。
发布于 2016-08-04 19:48:52
如果你基本上想要将DLFileEntry转换成文件,那么你可以使用另一种方法。
文件File = DLFileEntryLocalServiceUtil.getFile(user.getUserId(),dlFileEntry.getFileEntryId(),dlFileEntry.getVersion(),true);
https://stackoverflow.com/questions/26123437
复制相似问题