I know it's possible to attach an image to a page using the REST API, but is it possible to actually display that image on the page itself by making some sort of API call or adding some sort of HTML to the page? I tried doing an update with "value":"<img src='/download/attachments/\" + id + \"<myfile>.png' width='967px'></img>" but it wasn't displayed.
Edit: I found this issue: https://jira.atlassian.com/browse/CONFSERVER-40979 Was it ever resolved?
Here's my workaround using the python requests library:
def imageTag(id, file): #Get info about attachment modDate = ConfluenceAPI.geta(id, file) try: modDate = str(modDate) index_start = modDate.find("version=") index_start = index_start + 27 index_end = modDate.find("'", index_start) index_end = index_end - 7 modDate = modDate[index_start:index_end] except: print (modDate) exit(2) return "<p style=\\\"text-align:center;\\\"><span class=\\\"confluence-embedded-file-wrapper\\\"><img class=\\\"confluence-embedded-image\\\" src=\\\"/download/attachments/" + id + "/" + file + "?version=1&modificationDate=" + modDate + "&api=v2\\\" data-image-src=\\\"/download/attachments/" + id + "/" + file + "?version=1&modificationDate=" + modDate + "&api=v2\\\" data-unresolved-comment-count=\\\"0\\\" data-linked-resource-id=\\\"" + id + "\\\" data-linked-resource-version=\\\"1\\\" data-linked-resource-type=\\\"attachment\\\" data-linked-resource-default-alias=\\\"" + file + "\\\" data-base-url=\\\"" + ConfluenceAPI.getURL() + "\\\" data-linked-resource-content-type=\\\"image/png\\\" data-linked-resource-container-id=\\\"" + id + "\\\" data-linked-resource-container-version=\\\"1\\\"></img></span></p>"
Where ConfluenceAPI.geta(id, file) is defined
def geta(id, file): payload = {'filename' : file} r = requests.get( url + '/rest/api/content/' + id + '/child/attachment', params = payload, auth=(user, pass_) ) return r.json()
Jake, man, if you use single quotes around your strings, you don't have to escape all the double quotes. And if you use r"...", you don't have to escape the backslashes. And someone looking at what you're doing might understand it.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This is great - thanks.
First example I've seen embedding an image into a page. I guessed you'd have to upload an attachment, then reference it in the page, but this has confirmed it :)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
chris,
can you guide me to the same. i am working on a the same "how to display an image from attachments or directly through rest api"
Thanks in advance
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Jake - Are you referring to Confluence or JIRA here?
Edit: Oops. Sorry, it is clear now from the link you've given that you are talking about Confluence. I'll move your question to the Confluence section.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.