2016-12-15 11 views
0

私は、ページ(タイトル、本文)とファイルアセット(pdfと画像)をインポートするためのコンフルエンス用のプラグインを作成しています。Confluenceプラグインのインポート外部添付

私はPageManagerを使用してページを保存していますが、ページの保存/作成はかなり簡単ですが、添付ファイルを追加しています。私は方法が分かりませんそれをするために。

誰かがページオブジェクトへの添付ファイルをinputStreamまたはbyte[]の形式で設定する方法を知っていますか? page.setAttachments()にはAttachmentオブジェクトのリストがありますが、添付オブジェクトを作成しようとすると、inputStreamまたはbyte配列のいずれかが使用されません。

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()); 

すべてのヘルプは

おかげ


を編集いただければ幸いです:データをアップロードし、添付ファイルを追加するFileUploadManagerを使用し

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) 
+0

使用しているAPIのバージョンは何ですか? – rmlan

+0

Confluence 5.10.4 – Alex

+0

ハッハッハ、彼らの[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

答えて

0

(あなたがいるように見えます実際にGroovyを使用しているので、私もそうします):

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()); 

FileUploadManager uploadManager = ComponentLocator.getComponent(FileUploadManager) as FileUploadManager 
AttachmentResource attachment = new InputStreamAttachmentResource (bufferIn, "2454.png", "image/png", bufferIn.getBytes().length) 
uploadManager.storeResource(attachment, page) 
+0

私は今それを試してみましょう! – Alex

+0

はいはい私はgroovy :)を使用しています(あなたは確かに退役軍人です) – Alex

+0

私は次のエラーを受け取ります: – Alex

関連する問題