Доброго времени суток! На днях озадачился идеей прикрепления фотографии к сообщению. Сама фотография не хранится на компьютере, а берется из URL запроса.
def getSteamItemImageFromUrl(classID: str):
STEAM_URL = 'https://steamcommunity-a.akamaihd.net/economy/image/class/730/'
response = get(STEAM_URL + classID + '/330fx250f', stream=True).content
image = BytesIO(response).getvalue()
return b64encode(image)
Здесь я получаю изображение в байтовом представлении, далее мне нужно залить его на сервер ВК, но сталкиваюсь с проблемой, что функция тупо не хочет принимать в себя байты и говорит, что в директории нет такого изображения. Сам код с публикацией на сервер ВК
def uploadImageToServer(image) -> str:
"""Загружает изображение на сервер, возвращает строку для attachment"""
upload = vk_api.VkUpload(vk)
photo = upload.photo_messages(image)
return f"photo_{photo['owner_id']}_{photo['id']}"
Метод
photo_messages как раз и не принимает параметр image, которое находится в байтовом представлении.
Собственно, сама ошибка:
f = open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory, после нее идет строка байтов