如何在WordPress中使用REST API上传媒体图像或功能图像。我已经创建了新的职位使用WordPress的REST API,现在我上传图像到我的WordPress网站使用REST API,但我无法实现它,由于错误“无数据提供”请检查截图
这是最好的方式来创建新的文章在WordPress的特色图像,现在在我的脑海中1.上传媒体文件到WordPress网站并获取媒体ID1.使用媒体ID创建新帖子
n9vozmp41#
你几乎是对的,只是缺少media(image) raw binary data。对于python,使用代码:
media(image) raw binary data
python
import requests toUploadImagePath = "/xxx/xxx.jpg" mediaImageBytes = open(toUploadImagePath, 'rb').read() # b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\.....' uploadImageFilename = "661b943654f54bd4b2711264eb275e1b.jpg" curHeaders = { "Authorization": "Bearer xxx.yyy.zzz-xxx-yyy-zzz", "Content-Type": "image/jpeg", "Accept": "application/json", 'Content-Disposition': "attachment; filename=%s" % uploadImageFilename, } resp = requests.post( "https://www.crifan.com/wp-json/wp/v2/media", headers=curHeaders, data=mediaBytes, )
完整的代码可以参考我的库:crifanWordpress.py我的中文:【已解决】用Python通过WordPress的REST API上传图片(将在不久的将来发布)
nr9pn0ug2#
使用REST API将文件上传到WordPress非常简单。你所需要做的就是在POST请求中将文件发送到wp/v2/media路由。
UPDATED新增数据响应true
$file = file_get_contents( 'test.jpg' ); $url = 'http://example.com/wp-json/wp/v2/media/'; $ch = curl_init(); $username = 'admin'; $password = 'password'; curl_setopt( $ch, CURLOPT_URL, $url ); curl_setopt( $ch, CURLOPT_POST, 1 ); curl_setopt( $ch, CURLOPT_POSTFIELDS, $file ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt( $ch, CURLOPT_HTTPHEADER, [ 'Content-Disposition: form-data; filename="example.jpg"', 'Authorization: Basic ' . base64_encode( $username . ':' . $password ), ] ); $result = curl_exec( $ch ); curl_close( $ch ); print_r( json_decode( $result ) );
更多https://gist.github.com/ahmadawais/0ccb8a32ea795ffac4adfae84797c19a
jm2pwxwz3#
我也是来寻找答案的。但我最终混合并匹配了PHP和Nodejs。@user1805543的答案是我的php代码(谢谢你的人).我从$result返回了id。(记住json_decode($result, true))剩下要做的就是向运行php的地方发出get请求-localhost:YOUR_PORT我在我的例子中使用了axios,所以在回调中我收到了id,然后我继续为新的blog文章发出post请求,并将id作为featured_media提供
json_decode($result, true)
localhost:YOUR_PORT
3条答案
按热度按时间n9vozmp41#
你几乎是对的,只是缺少
media(image) raw binary data
。对于
python
,使用代码:完整的代码可以参考我的库:crifanWordpress.py
我的中文:【已解决】用Python通过WordPress的REST API上传图片(将在不久的将来发布)
nr9pn0ug2#
使用REST API将文件上传到WordPress非常简单。你所需要做的就是在POST请求中将文件发送到wp/v2/media路由。
UPDATED新增数据响应true
更多https://gist.github.com/ahmadawais/0ccb8a32ea795ffac4adfae84797c19a
jm2pwxwz3#
我也是来寻找答案的。但我最终混合并匹配了PHP和Nodejs。@user1805543的答案是我的php代码(谢谢你的人).我从$result返回了id。(记住
json_decode($result, true)
)剩下要做的就是向运行php的地方发出get请求-localhost:YOUR_PORT
我在我的例子中使用了axios,所以在回调中我收到了id,然后我继续为新的blog文章发出post请求,并将id作为featured_media提供