Как отправить PUT запрос, содержащий в качестве параметра очень длинную строку, используя Jsoup

Пишу проект, работающий с Spotify API. Пытаюсь отправить запрос на изменение обложки плейлиста пользователя. Вот документация с офф. сайта. В запросе в качестве параметра требуется кодированное изображение в кодировке base64, т.е. получается очень длинная строка (в качестве примера кодировав одну картинку получил около 80.000 символов).

Если передать эту строку напрямую в качестве параметра возникает очевидная проблема: java: constant string too long

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

Вызываемый метод:

public static void requestUploadImage(String playlistId, String imageBase64, String accessToken) {
        try {
            Jsoup.connect("https://api.spotify.com/v1/playlists/"
                + playlistId + "/images")
                .method(Connection.Method.PUT)
                .header("Accept-Language", "en")
                .header("Content-Type", "application/json")
                .ignoreHttpErrors(true)
                .ignoreContentType(true)
                .requestBody(imageBase64)
                .header("Accept", "application/json")
                .header("Authorization", "Bearer " + accessToken)
                .execute()
                .body();
        } catch (IOException exception) {
            exception.printStackTrace();
        }
    }

Пробовал вытаскивать из файла и возвращать строку сразу в requestBody. Тогда возникает другая ошибка:

avax.net.ssl.SSLException: Received fatal alert: record_overflow
    at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:133)
    at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:307)
    at java.base/sun.security.ssl.Alert$AlertConsumer.consume(Alert.java:285)
    at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:180)
    at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164)
    at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1183)
    at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1153)
    at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:828)
    at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:252)
    at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:292)
    at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:351)
    at java.base/sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:746)
    at java.base/sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:689)
    at java.base/sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:717)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1604)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509)
    at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
    at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:330)
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:736)
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:707)
    at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:297)
    at spotify.JsoupRequest.requestUploadImage(JsoupRequest.java:70)
    at main.Main.main(Main.java:15)

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