очень медленная скорость загрузки изображений - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть веб-приложение на Java, где пользователи могут загружать изображения
То, как я закодировал загрузку, использует IOUtils.copy для потока ответов
Но загрузка 4-мегабайтного изображения занимает около 10 секунд, и это происходит очень медленно.
Похоже, сервер отправляет порцию за раз.

это способ записи изображения в выходной поток:

 OutputStream out = response.getOutputStream();
 FileInputStream stream = new FileInputStream(path);
 IOUtils.copy(stream, out);
 out.flush();
 out.close();

Есть ли более быстрый способ?сделать это?

ОБНОВЛЕНИЕ

следующий код с использованием буфера 1 МБ и copyLarge не вносил никаких изменений.

        FileInputStream stream = new FileInputStream(path);
        byte[] buffer = new  byte[1024 * 1024];         
        IOUtils.copyLarge(stream, out,buffer );

1 Ответ

0 голосов
/ 08 февраля 2019

Попробуйте copyLarge:

public static long copyLarge(InputStream input,
             OutputStream output,
             byte[] buffer) throws IOException

Используйте размер буфера около 1Mb

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...