Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Create new Confluence attachment using Java API

Tuelle
Contributor
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
Contributor
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
atlassian, knowledge sharing, intentional knowledge sharing playbook, loom, confluence, team collaboration, knowledge management, workplace productivity, information silos, documentation best practices, internal communication, knowledge sharing strategies

Conquer collaboration chaos with Loom + Confluence

You don't need more tools. You need tools that actually work together – the way humans do. See how Loom + Confluence help teams collaborate with more context, more connection, and fewer calendar invites. 💪

See inside
AUG Leaders

Atlassian Community Events