Я пытаюсь прочитать изображение из 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();
Оба кода приводят к повреждению изображения ... Я уже читал этот пост из stackoverflow