Загрузка изображений в БД из интернета
В ходе проекта возникла необходимость загрузки изображений, полученных из интернета, в базу данных 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()