I'm trying to upload my local image to my blog on wordpress.com, I try this code
$request = curl_init('https://public-api.wordpress.com/rest/v1/sites/mywordpressbloganonym.wordpress.com/media/new');
curl_setopt($request, CURLOPT_POST, true);
curl_setopt(
$request,
CURLOPT_POSTFIELDS,
array(
'media' => '@C:/Users/aditia/myimage.jpg',
'media[0]' => '@C:/Users/aditia/myimage.jpg',
'media[]' => '@C:/Users/aditia/myimage.jpg'
));
curl_setopt($request, CURLOPT_HTTPHEADER, array(
"Content-Type: multipart/form-data",
"Authorization: BEARER mybrearertokenrfromauth"
));
// output the response
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
curl_setopt($request, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($request, CURLOPT_SSL_VERIFYPEER, 0);
echo curl_exec($request);
// close the session
curl_close($request);
I always get
{"media":[],"errors":[{"error":"upload_error","message":"File is empty. Please upload something more substantial."},{"error":"upload_error","message":"File is empty. Please upload something more substantial."}]}
i'm using https://developer.wordpress.com/docs/api/1.1/post/sites/$site/media/new/ but using curl directly from console is working, please help is there something missing in my code?