Отправить пользователю в Telegram изображение с компьютера Java

Подскажите, пожалуйста, как можно исправить:

Используя метод sendPhoto Telegram Bot API пытаюсь отправить пользователю (самому себе) изображение по AbsolutePath, но возникает ошибка {"ok":false,"error_code":400,"description":"Bad Request: there is no photo in the request"}.

Ее не возникает при указании URL.

Думал загружать каким-то образом в "облако" и использовать URL, но не разобрался. Также думал об использовании метода InputMediaPhoto, но тоже не смог разобраться и не нашел нормальных примеров. Только начинаю изучение Java, но возникла уже такая, как по мне, непростая задачка.

Мой метод:

private static HttpURLConnection con;
private static String tgToken = "ТОКЕН"; // токен ТГ-бота, подставьте свой
private static int  chatId = ID; // id личного чата с ботом в Tg
private static String urlTokenImg = "https://api.telegram.org/bot"+tgToken+"/sendPhoto";

public static void tgScreen() {
        
        img = "C:\screens\screen.png"; // если указать URL картинки, то все хорошо

        String urlParameters = "chat_id="+chatId+"&photo="+img;
        byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);

        try {

            URL url = new URL(urlTokenImg);
            con = (HttpURLConnection) url.openConnection();

            con.setDoOutput(true);
            con.setRequestMethod("POST");
            con.setRequestProperty("User-Agent", "Java upread.ru client");
            con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

            try (DataOutputStream wr = new DataOutputStream(con.getOutputStream())) {
                wr.write(postData);
            }

            StringBuilder content;

            try (BufferedReader br = new BufferedReader(
                    new InputStreamReader(con.getInputStream()))) {
                String line;
                content = new StringBuilder();

                while ((line = br.readLine()) != null) {
                    content.append(line);
                    content.append(System.lineSeparator());
                }
            }           

        } catch (ProtocolException e) {
            e.printStackTrace();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            con.disconnect();
        }
    }

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