Create new Confluence attachment using Java API

Tuelle June 26, 2017

Hi,

I want to create a new attachment to a Confluence page inside a doPost(..) method of a HttpServlet, but I get an exception which I cannot explain. I have simplified the code (I am saving the data to a local file first; it is there and valid) in the servlet to this:

ConfluenceUser confluenceUser = AuthenticatedUserThreadLocal.get();
File file = new File("C:\\test.pdf");
Attachment attachment = new Attachment("C:\\test.pdf", "application/pdf", file.getTotalSpace(), "");
attachment.setCreator(confluenceUser);
attachment.setCreationDate(new Date());
attachment.setLastModificationDate(new Date());
this.attachmentManager.saveAttachment(attachment, null, new FileInputStream(file));
Page page = this.pageManager.getPage(6914058);
page.addAttachment(attachment);

The .saveAttachment(..) throws "IllegalArgumentException: Attachment content", but what is the problem??

 

 

1 answer

0 votes
Tuelle June 27, 2017

I figured out what was missing: I had to call 

attachment.setContent(page);

to link the attachment to the page. page.addAttachment does not seem to be sufficient.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events