Using Java, how can I duplicate an attachment within a page (changing the filename)

Nathaniel E Pendleton March 17, 2015

I feel like I have tried almost every combination of Attachment, AttachmentManager, and related calls in order to try to get a second copy of my attachment on the same page (although with a new file name). I keep running into unhelpful error messages, or worse, none at all. Is there a sample around that can show me how to do this? I spent all afternoon on this, and it doesn't seem like it should be that difficult.

Thank you!

1 answer

0 votes
Nathaniel E Pendleton March 18, 2015

I finally figured out the combination to get this done. You have to do things in a very particular order.

public void copyAttachmentToSamePage(final long pageId, final String sourceAttachmentName, final String sourceAttachmentName) {
  ContentEntityObject page = (ContentEntityObject)contentEntityManager.getById(pageId).getLatestVersion()
  final Attachment sourceAttachment = attachmentManager.getAttachment(page, sourceAttachmentName);
  Attachment targetAttachment = new Attachment();
  targetAttachment.setMediaType(sourceAttachment.getMediaType());
  targetAttachment.setFileSize(sourceAttachment.getFileSize());
  targetAttachment.setFileName(targetAttachmentName);
  targetAttachment.setTitle(targetAttachmentName);
  targetPage.addAttachment(targetAttachment);
  attachmentManager.saveAttachment(targetAttachment, null, attachmentManager.getAttachmentData(sourceAttachment));
}

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events