Почему при пересылке изображения из облака в чат Telegram bot происходит обрезка изображения и искажение его качества?

Вот код

    public void imgMemMorning () {
            String img = "https://drive.google.com/file/d/1QIy620-cn7D-dndQ0k4IpSk02VybdFZU/view?usp=sharing";
    try {
                URL url = new URL(img);
                InputFile photo = new InputFile(String.valueOf(url));
                SendPhoto sendPhoto = new SendPhoto();
                sendPhoto.setPhoto(photo);
                sendPhoto.setChatId(Long.parseLong("1234567"));
                execute(sendPhoto);
    
          } catch (Exception e) {
                e.printStackTrace();
            }
     }

Как реализовать метод для отправки фото пользователю без обрезки и искажения качества?


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

Автор решения: Анатолий

Используй отправку не фото, а документа, телега всегда режет качество при отправке фото как картинку, переделай метод отправки с фото на документ, и добавляй фото файлом

SendDocument sendPhoto = new SendDocument();
sendPhoto.setDocument(new InputFile(String.valueOf(url)));

хотя лучше уже название переменной ставь sendDocument

отправляя документом, фото в оригинальном качестве отправится.

→ Ссылка