@estry

Как загрузить картинку в вордпресс через REST API используя ссылку на картинку?

Загружаю картинки в вордпресс через 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)
  • Вопрос задан
  • 551 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы