Using curl upload file in confluence but got

I want to use api uploading files,but faild.

I use the command

curl -D- -u  $USERNAME:$PASSWORD  -H "Content-Type: multipart/form-data" -F "file=@$1" -F "minorEdit=false" https://test.atlassian.net/wiki/rest/api/content/contentID/child/attachment

 

and Got

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0HTTP/2 401
server: nginx
date: Thu, 08 Jun 2017 01:47:51 GMT
content-type: text/html;charset=utf-8
content-length: 1263
www-authenticate: OAuth realm="https%3A%2F%2Feastek-ezcam.atlassian.net%2Fwiki"
content-language: en
100 48906  100  1263  100 47643   1154  43549  0:00:01  0:00:01 --:--:-- 44195

Can someone help me?

1 answer

This widget could not be displayed.

Hey eastek_claire,

I have been doing some work recently with the Jira and Confluence API's and I think I can shed some light on whats going on here.

Looking at your curl command it could do with a couple of tweaks to get it working, namely changing of the header being set and the inclusion of a '-X' argument to specify this is a PUT command.
I took the liberty of re-writing this and testing to ensure it works:

curl -D- \
-u $USERNAME:$PASSWORD \
-X PUT \
-H "X-Atlassian-Token: nocheck" \
-F "file=@$1" \
-F "minorEdit=false" \
https://test.atlassian.net/wiki/rest/api/content/$contentId/child/attachment

The things to note that I have changed:

  1. I have added '-X PUT' to ensure the REST API knows we are uploading a file.
  2. I have changed the header type being passed in the '-H' argument as the API requires this header type otherwise the upload will fail.

One last thing, I assume the 'contentID' portion of your command is being passed from the script you are working on? If this is indeed the case please ensure the value being passed is numerical.

You can find more info on the API's and the available calls along with some helpful examples here: API Examples and here specifically for uploading attachments: API Uploading Attachments.

Best,

Nero

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Monday in Confluence

Why start from scratch? Introducing four new templates for Confluence Cloud

Hi my Community friends!  For those who don't know me, I'm a product marketer on the Confluence Cloud team - nice to meet you! For those of you who do, you know that I've been all up in your Co...

477 views 6 6
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you