@bart
Чтобы передать изображение в формате Base64 на сервер из URL в Java, вы можете использовать следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
import java.io.*; import java.net.*; import java.util.*; public class Base64ImageUploader { public static void main(String[] args) throws Exception { String imageUrl = "https://example.com/image.jpg"; URL url = new URL("https://example.com/upload"); String encoding = Base64.getEncoder().encodeToString(getImageBytes(imageUrl)); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoOutput(true); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); String postData = "image=" + URLEncoder.encode(encoding, "UTF-8"); OutputStream os = connection.getOutputStream(); os.write(postData.getBytes("UTF-8")); os.flush(); os.close(); BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); String inputLine; while ((inputLine = in.readLine()) != null) { System.out.println(inputLine); } in.close(); } private static byte[] getImageBytes(String imageUrl) throws Exception { URL url = new URL(imageUrl); ByteArrayOutputStream baos = new ByteArrayOutputStream(); InputStream is = url.openStream(); byte[] byteChunk = new byte[4096]; int n; while ((n = is.read(byteChunk)) > 0) { baos.write(byteChunk, 0, n); } is.close(); return baos.toByteArray(); } } |
В этом примере мы используем java.net.URL
для получения изображения по URL-адресу и сохранения его в виде массива байтов. Затем мы кодируем массив байтов в строку Base64, используя java.util.Base64
, и отправляем его на сервер в виде POST-запроса с помощью java.net.HttpURLConnection
. После отправки запроса мы получаем ответ от сервера и выводим его на консоль.
Обратите внимание, что в этом примере мы используем application/x-www-form-urlencoded
для типа контента POST-запроса. Вы можете изменить это на любой другой тип контента, поддерживаемый вашим сервером.
@bart
Этот код позволяет передать изображение в формате Base64 на сервер из URL в Java. Пожалуйста, убедитесь, что у вас есть правильные разрешения и права доступа для загрузки изображения и выполнения HTTP-запросов на сервер. Вам также может потребоваться добавить обработку исключений для обработки любых ошибок, которые могут возникнуть в процессе выполнения кода.