Задать вопрос
@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)
  • Вопрос задан
  • 569 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
31 янв. 2025, в 00:16
43000 руб./за проект
30 янв. 2025, в 21:33
5000 руб./за проект
30 янв. 2025, в 21:14
4000 руб./за проект