Загружаю картинки в вордпресс через REST API предварительно сохранив картинку себе на локальный диск. После чего картинку удаляю.
Вот так:
import os
import requests
host = 'http://site.com/wp-json/wp/v2'
img_dest = f'{host}/media'
token = 'dkjvbejvbhjrbvhbhbdedb'
photo = 'https://i04.fotocdn.net/s119/1d300ff0b9924871/gallery_m/2729587130.jpg'
response_photo = requests.get(photo)
path_photo = f'd:\photo\9.jpg'
with open(path_photo, "wb") as img_file:
img_file.write(response_photo.content)
header = {'Authorization': f"Bearer {token}"}
with open(path_photo, 'rb') as image:
media = {'file': image}
response = requests.post(img_dest, headers=header, files=media)
os.remove(path_photo)
Есть ли возможность загружать картинку на сайт вордпресс не сохраняя ее себе на компьютер?
Пробовал много вариантов, всегда возникала ошибка
{"code":"rest_upload_sideload_error","message":"Извините, вам не разрешено загрузить этот тип файла.","data":{"status":500}}
Один из вариантов загрузки картинки:
host = 'http://site.com/wp-json/wp/v2'
img_dest = f'{host}/media'
photo= 'https://i04.fotocdn.net/s119/1d300ff0b9924871/gallery_m/2729587130.jpg'
response_photo = requests.get(photo)
media = {
'file': (fileName, io.BytesIO(response_photo .content), 'image/jpg')
}
header = {
'Authorization': f"Bearer {token}",
'Content-Type': 'image/jpg',
'Content-Disposition': f'attachment; filename={fileName}'
}
requests.post(img_dest, headers=header, files=media)