Я пытаюсь прочитать изображение с URL-адреса (с пакетом java java.net.URL) в байт []. "Все" прекрасно работает, за исключением того, что содержимое не читается в потоке (изображение повреждено, оно не содержит всех данных изображения)... Байт-массив сохраняется в базе данных (BLOB). Я действительно не знаю, какой правильный подход, может быть, вы можете дать мне совет:)
Это мой первый подход (форматированный код, удаленная ненужная информация...):
URL u = new URL("http://localhost:8080/images/anImage.jpg");
int contentLength = u.openConnection().getContentLength();
Inputstream openStream = u.openStream();
byte[] binaryData = new byte[contentLength];
openStream.read(binaryData);
openStream.close();
Моим вторым подходом был этот (поскольку вы увидите, что длина содержимого выбирается другим способом):
URL u = new URL(content);
openStream = u.openStream();
int contentLength = openStream.available();
byte[] binaryData = new byte[contentLength];
openStream.read(binaryData);
openStream.close();
Оба кода приводят к поврежденному изображению... Я уже прочитал этот пост qaru.site/info/178263/...