WordPress REST API: невозможно загрузить изображение типа контента/jpegPython

Программы на Python
Anonymous
WordPress REST API: невозможно загрузить изображение типа контента/jpeg

Сообщение Anonymous »

По всей видимости, REST API WordPress не позволит мне загрузить файл с типом контента «image/jpeg».

Если я установлю тип контента пустым string, я могу создать медиа-элемент и загрузить прикрепленный файл (который появляется как в медиа-библиотеке, так и в каталоге wp_content/uploads). Однако в результате получается недействительное изображение, которое WordPress не может обработать.

Это код, который я использую:

Код: Выделить всё

def post():
url = 'https://www.example.com/wp-json/wp/v2/media'
data = open('C:\\Pictures\\foo.jpg', 'rb').read()
r = requests.post(url=url,
files={'filename1': data},
data={'title': 'Files test'},
headers={'Content-Type': '', 'Content-Disposition': 'attachment; filename={}'.format('foo.jpg')},
auth=('username', 'password'))
return (r.status_code, r.text)
Когда я устанавливаю Content-Type на «image/jpg», «image/jpeg», «image», «multipart», «application» или «application/image» ' (Я в отчаянии) Я получаю 403.

Если я установлю «application/json», как предлагают другие, я получу 400 с «недействительным» Тело JSON передано».

Если я опущу Content-Type, я получу 500 со следующим сообщением:

Код: Выделить всё

{"code":"rest_upload_unknown_error","message":"File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini or by post_max_size being defined as smaller than upload_max_filesize in php.ini.","data": {"status":500}}')
Мой файл не пуст (его размер 26 КБ), и предлагаемые ошибки PHP.ini, по-видимому, не могут быть применены, если я могу загрузить файл с Content-Type = ' '.

Пожалуйста, есть предложения?

Подробнее здесь: https://stackoverflow.com/questions/449 ... image-jpeg

Вернуться в «Python»