小编my *_*ode的帖子

如何在python中使用wordpress REST api上传图像?

我认为我已经完成了90%的工作,但是最终“上传”了空白的透明图像。上传后,我收到201回应。我认为这可能是WP发现丢失图像的代理。我不确定是否传递了错误的图像(即它没有离开我的计算机),或者我是否没有根据WP的喜好正确标记图像。

from base64 import b64encode
import json
import requests

def imgUploadREST(imgPath):
    url = 'https://www.XXXXXXXXXX.com/wp-json/wp/v2/media'
    auth = b64encode('{}:{}'.format('USERNAME','PASS'))
    payload = {
        'type': 'image/jpeg',  # mimetype
        'title': 'title',
        "Content":"content",
        "excerpt":"Excerpt",
    }
    headers = {
        'post_content':'post_content',
        'Content':'content',
        'Content-Disposition' : 'attachment; filename=image_20170510.jpg',
        'Authorization': 'Basic {}'.format(auth),
    }
    with open(imgPath, "rb") as image_file:
        files = {'field_name': image_file}
        r = requests.post(url, files=files, headers=headers, data=payload) 
        print r
        response = json.loads(r.content)
        print response
    return response
Run Code Online (Sandbox Code Playgroud)

我已经在php或node.js中看到了很多答案,但是我在理解python的语法时遇到了麻烦。感谢您的任何帮助!

python rest wordpress python-requests wp-api

3
推荐指数
1
解决办法
3242
查看次数

标签 统计

python ×1

python-requests ×1

rest ×1

wordpress ×1

wp-api ×1