Веб-сервисы для загрузки нескольких изображений весной MVC - PullRequest
0 голосов
/ 29 июня 2018

Я хочу загрузить несколько изображений с сервера tomcat, используя spring mvc в моем приложении для Android. Помогите мне решить эту проблему с кодом Android и Spring MVC.

1 Ответ

0 голосов
/ 29 июня 2018

Загрузка всех изображений за один запрос может занять много времени.

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);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...