我正在爲匯合導入頁面(標題,正文)和文件資產(pdf和圖像)創建一個插件。Confluence插件導入外部附件
我使用PageManager來保存頁面和保存/創建一個頁面是非常直接的,但添加附件我發現dificult理解如何做到這一點,因爲幾乎沒有信息在線,我可以找到如何去做吧。
有誰知道如何設置一個頁面對象的附件形成一個inputStream或byte[]
? page.setAttachments()
需要附件對象的列表,但是如果我嘗試創建附件對象,它不接受inputStream或字節數組。
PageManager pageManager = ComponentLocator.getComponent(PageManager) as PageManager
Page page = pageManager.getPage(8290525l)
URL url = new URL("https://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg");
InputStream bufferIn = new BufferedInputStream(url.openStream());
任何幫助,將不勝感激
感謝
編輯:
PageManager pageManager = ComponentLocator.getComponent(PageManager) as PageManager
ArrayList<AttachmentResource> attachResources = new ArrayList<AttachmentResource>()
def page = pageManager.getPage(8290525l)
URL url = new URL("https://i.ytimg.com/vi/tntOCGkgt98/maxresdefault.jpg");
InputStream bufferIn = new BufferedInputStream(url.openStream());
DefaultSaveContext context = new DefaultSaveContext()
context.setUpdateLastModifier(true)
AttachmentManager attachmentManager = ComponentLocator.getComponent(AttachmentManager) as AttachmentManager
Attachment attachment = new Attachment("2454.png", "image/png", bufferIn.getBytes().length, "", false)
attachmentManager.saveAttachment(attachment, null, bufferIn)
page.addAttachment(attachment)
pageManager.saveContentEntity(page, context)
您使用的是什麼版本的API? – rmlan
Confluence 5.10.4 – Alex
哈哈,那麼,他們的[Api Docs](https://docs.atlassian.com/confluence/5.10.4/com/atlassian/confluence/pages/AttachmentManager.html#saveAttachment-com.atlassian .confluence.pages.Attachment-com.atlassian.confluence.pages.Attachment-java.io.InputStream-)正在說謊。 – rmlan