有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将带有图像和/或文档的JournalArticle添加到Liferay 6.2?

我是Liferay的新手,我需要解析一些XML文档以将它们放入Liferay。现在,我已经能够创建日志文章并将其添加到Liferay中。我面临的问题是,这些xml包含图像或文档,而我无法上传它们

对于图像,我从xml获取url,创建一个inputStream,然后从inputStream创建一个映射。此映射放在JournalArticleLocalServiceUtil方法中,但创建日志时,不会上载/附加图像。代码是下一个:

JournalArticle newJournalArticle = JournalArticleLocalServiceUtil.addArticle(
                    userId, 
                    groupId, 
                    exampleArticle.getFolderId(), 
                    exampleArticle.getClassNameId(), 
                    exampleArticle.getClassPK(), 
                    "", 
                    true, 
                    1D, 
                    titleMap, 
                    null, 
                    journalContent, 
                    exampleArticle.getType(), 
                    exampleArticle.getStructureId(), 
                    exampleArticle.getTemplateId(), 
                    exampleArticle.getLayoutUuid(), 
                    c.get(Calendar.MONTH), 
                    c.get(Calendar.DAY_OF_MONTH), 
                    c.get(Calendar.YEAR), 
                    c.get(Calendar.HOUR), 
                    c.get(Calendar.MINUTE), 
                    0, 0, 0, 0, 0, true, 
                    0, 0, 0, 0, 0, true, 
                    true, 
                    false,    (false or true, the image is not uploaded)
                    null, 
                    null, 
                    imageMap,     -> image map created before
                    articleURL, 
                    serviceContext);

            newJournalArticle.persist();

如果地图创建正确,是否应上载此代码?或者在liferay中,我需要将文件上载到文档和媒体,然后以某种方式将它们附加到日志中

对于我一直在寻找但不清楚的文档,如何上传文档以将其附加到日志?我应该使用DLAppLocalServiceUtil或getUploadPortletRequest上传文件吗

我希望有人能指引我。 谢谢大家!

编辑 嗯,图像必须先上传到文件和媒体上。这可以通过以下方法完成:http://liferayiseasy.blogspot.in/2015/07/folder-and-file-upload-programmatically.html

现在,我必须将上传的图片链接到创建的文章中

问候


共 (1) 个答案

  1. # 1 楼答案

    您需要将图像上传到文档库,并从web内容文章中链接它们。记录这一点的最简单方法是找到古老的sevencogs(或7cogs)示例代码。它应该可以在Liferay 6.0的下载中找到。不幸的是,它不再包含任何内容,需要进行一些小的调整,以模仿Liferay自那时以来所经历的API更改,但您应该从它开始

    其中一个变化是,您找到的代码可能使用了“ImageGallery”,从那时起它就与文档库合并了——现在API调用的所有IG前缀都是DL

    詹姆斯·福克纳(James Falkner)已经在一个两篇文章的博客系列(onetwo)中复活了一些代码,但这个问题似乎不在这些文章的内容中