Загрузка изображений в БД из интернета

В ходе проекта возникла необходимость загрузки изображений, полученных из интернета, в базу данных mysql. Разобрался с тем, как загрузить его, предварительно скачав на компьютер:

def insert_photo(url):
    download_photo(url)
    con = pymysql.connect('localhost', 'root', '****', 'vk_users_photo')
    with con:
        cur = con.cursor()
        data = read_file('C:/Users/ilsha/DataSet/input.jpg')
        query = "INSERT photos(photo) VALUES (%s)"
        cur.execute(query, data)
        con.commit()
    os.remove('C:/Users/ilsha/DataSet/input.jpg')

Однако такой подход не очень удобен. Хотелось бы загружать картинки в базу на лету, не скачивая их сначала на компьютер. Не могу придумать, как реализовать подобное, не смог найти ничего похожего в сети. Буду очень благодарен, если поможете.


Ответы (1 шт):

Автор решения: gil9red

Попробуйте:

import requests
...

def insert_photo(url):
    con = pymysql.connect('localhost', 'root', '****', 'vk_users_photo')
    with con:
        cur = con.cursor()
        rs = request.get(url)
        query = "INSERT photos(photo) VALUES (%s)"
        cur.execute(query, rs.content)
        con.commit()
→ Ссылка