Загрузка всех изображений за один запрос может занять много времени.
ANDROID : После получения URL-адресов изображений с сервера вы можете использовать библиотеку glide, добавив com.github.bumptech.glide:glide:3.8.0
в файл конфигурации Android Gradle.
А затем передайте все URL в эту библиотеку.
Он будет работать в фоновом режиме, поэтому все пройдет гладко.
SPRING-MVC :
Напишите метод в контроллере, который будет считывать изображения из местоположения tomcat и возвращать изображение в виде байтового массива, как показано ниже.
@RequestMapping(value = "/getImage", method = RequestMethod.GET)
public ResponseEntity<byte[]> getImage(@RequestParam (value="id" ,required = true)String id) {
try{
String rootPath = System.getProperty("catalina.home");
String profilePicDirectory = rootPath + File.separator + "images" + File.separator + id +".jpg";
RandomAccessFile f = new RandomAccessFile(profilePicDirectory, "r");
byte[] b = new byte[(int)f.length()];
f.readFully(b);
f.close();
final HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_JPEG);
return new ResponseEntity<byte[]>(b, headers, HttpStatus.OK);
}
catch(Exception ex) {
final HttpHeaders headers = new HttpHeaders();
return new ResponseEntity<byte[]>(null, headers, HttpStatus.NOT_FOUND);
}
}