How to make a request for uploading a file to facebook using graph api in curl

I am making this request but getting Error:

curl https://graph.facebook.com/<id>/photos  -F "source=@me.jpg"  -d "message=Me"  -v 


Only One Http Request can be Selected

1 Answer 1


You can't use -F and -d together, since they use different content types, and you need multipart/form-data. So try with:

https://graph.facebook.com/<id>/photos -F "source=@me.jpg" -F "message=Me" -v

From man curl:


(HTTP) This lets curl emulate a filled-in form in which a user has pressed the submit button. This causes curl to POST data using the Content-Type multipart/form-data according to RFC2388. This enables uploading of binary files etc. To force the 'content' part to be a file, prefix the file name with an @ sign. To just get the content part from a file, prefix the file name with the symbol <. The difference between @ and < is then that @ makes a file get attached in the post as a file upload, while the < makes a text field and just get the contents for that text field from a file.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.