Как загрузить картинку на сервер через Python?

Пользователь

от kaleigh , в категории: Python , 3 года назад

Как загрузить картинку на сервер через Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 3 года назад

@kaleigh  Вы можете загрузить картинку на сервер с помощью стандартной библиотеки requests


1
2
3
4
5
6
7
8
import requests

files = {'upload_file' : open('img.jpg', 'rb')} # Приводим изображения в формат отправления для .post()

response = requests.post('http://httpbin.org/post', files=files) # В аргумент files указываем наш файл

print(f"DATA SENT : {response.status_code == 200}") # Проверяем, отправились ли данные
print(response.text) # Выводим результат запроса


Так же вы можете для начала закодировать изображение (Например, в формат base64), отправить, а затем на стороне сервера декодировать изображение.

Пользователь

от karen.wisozk , 2 года назад

@kaleigh 

Для загрузки картинки на сервер через Python вам нужно использовать модуль requests.


Вот пример кода, который загружает картинку на сервер:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import requests

url = "https://example.com/upload_image"  # замените на URL вашего сервера
filename = "image.png"  # замените на имя вашего файла

with open(filename, "rb") as image_file:
    files = {"file": image_file}
    response = requests.post(url, files=files)

print(response.text)  # ответ от сервера


В этом примере мы используем метод post модуля requests для отправки файла на сервер. Мы открываем файл в бинарном режиме с помощью ключевого слова "rb", чтобы прочитать его содержимое. Затем мы передаем файл в запросе с помощью словаря files, где ключ "file" соответствует имени поля, которое ожидает сервер. Наконец, мы получаем ответ от сервера с помощью свойства text объекта response.


Обратите внимание, что URL и имя файла в примере должны быть заменены на соответствующие значения вашего сервера и файла. Также убедитесь, что сервер ожидает файл в правильном формате и размере.