MrEluzium
@MrEluzium

Почему загружается пустой файл в беседу python vk_api?

Пробую загрузить локальный файл в беседу. Пытался как через встроенные методы vk_api, так и способ из документации. Вот код последнего:

method = vk.docs.getMessagesUploadServer(peer_id=event.message.peer_id)["upload_url"]
file = requests.post(method, files={'file': open(f'data/{filename}', "rb")})
if file.status_code == 200:
    file = file.json()['file']
    uploaded = vk.docs.save(file=file)
    vk.messages.send(
        key=(bot_config['key']),
        server=(bot_config['server']),
        ts=(bot_config['ts']),
        random_id=get_random_id(),
        message=f' {first_name} {last_name}\n\n{text}',
        chat_id=event.chat_id,
        attachment=f"doc{uploaded['doc']['owner_id']}_{uploaded['doc']['id']}")
else:
    answer(' Не получилось загрузить файл. Попробуйте обновить данные.', event.chat_id)


Бот не выдает ошибок, docs.save возвращает данные файла и ссылку, но сам файл пустой. Прикрепляется, размер в сообщении указан верно, но самой пикчи нет.

60b7c746b7f40973073188.jpeg
60b7c74c27854087265554.jpeg

Использую vk_api 11.9.4 (последняя); Longpoll 5.131 (последняя)
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
@ZinovNikita
Мне помогло заменить метод на docs.getWallUploadServer и файл загрузился в файлы группы, но при этом и в беседе его стало можно скачать (у меня Node js)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Код то рабочий. Может файл битый? На других девайсах открывается документ? С телефона допустим
Либо попробовать скачать файл и посмотреть что загрузится
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы