为了验证WordPress实例的安装,我们正在编写Python单元测试。其中一项测试应执行以下操作:将图像上传到WordPress。通过Python的请求将图像上传到WordPress
为了做到这一点,我使用了请求库。
当我通过Firebug的检查/wp-admin/media-new.php页面内的表格(表格信息,我得到以下信息): 形式 编号:文件的形式 名称 方法:发布 行动:http://localhost:8000/wp-admin/media-new.php
元素 ID:plupload-浏览按钮 类型:按钮 值:选择文件
ID:异步上传 名称:异步上传 类型:FIL Ë 标签:上传
ID:HTML上传 名称:HTML上传 类型:提交 值:上传
ID:POST_ID 名称:POST_ID 类型:隐藏 值:0
ID:_wpnonce 名称:_wpnonce 类型:隐藏 值:c0fc3b80bb
ID:FI LE-形式 名称:_wp_http_referer 类型:隐藏 值:/wp-admin/media-new.php
我相信_wpnonce是每个会话生成一个唯一的值。因此,在尝试上传文件之前,我得到了media-new.php页面,并在窗体中获取_wpnonce(因此我的代码中的变量)。
我的代码如下:
with open('1.jpg', 'rb') as f:
upload_data = {'post_id': '0',
'_wp_http_referer': '/wp-admin/media-new.php',
'_wpnonce': wp_nonce,
'action': 'upload_attachement',
'name': '1.jpg',
'async-upload': f,
'html-upload': 'Upload'}
upload_result = session.post('http://localhost:8000/wp-admin/media-new.php', upload_data)
的代码运行正常和upload_result.status_code等于200
然而,像从来没有在WordPress的媒体库显示出来。
我相信这是一个简单的错误,但我无法弄清楚我错过了什么。
在此先感谢您的帮助。
我认为这[链接](https://wordpress.stackexchange.com/questions/240487/media-files-exist-in-upload-文件夹但不显示)将帮助你。检查上传文件夹的权限。 – abhijit