Скачивание файла Андроид

Пытаюсь реализовать скачивание файла с сервера Spring Boot на Андроид. Почему то скачивается только 146 байт. Я так подозреваю, что поток отдает первые байты, я их записываю и все. В чем может быть проблема и как ее исправить?

Вот код метода скачивания



    private fun callbackForFile(id: Int, name: String) {
            GlobalScope.launch {
                var fout: FileOutputStream? = null
                try {
                    fout = FileOutputStream("${Environment.getExternalStoragePublicDirectory(DIRECTORY_DOWNLOADS)!!.path}/$name")
                    fout.write(Http.get("/dialogue/getFile/$id").body!!.source().readByteArray())
                    showToast("Файл сохранен на устройство")
                } catch (e: SocketTimeoutException) {
                    showToast("Возникла ошибка при скачивании")
                } catch (e: ConnectException) {
                    showToast("Возникла ошибка при скачивании")
                } catch (e: SocketException) {
                    showToast("Возникла ошибка при скачивании")
                } finally {
                    fout?.close()
                }
            }
        }

Вот код сервера



    @GetMapping("getFile")
        public StreamingResponseBody getFile(@RequestParam("id") String id,
                                             HttpServletResponse response) {
            try {
                response.addIntHeader("dialogue_messages", Integer.parseInt(id));
                File dir = new File("D:\\dialogue_messages\\" + id + "\\");
                File[] arrFiles = dir.listFiles();
                FileInputStream inputStream = new FileInputStream("D:\\dialogue_messages\\" + id + "\\" + arrFiles[0].getName());
                return outputStream -> {
                    int b;
                    while ((b = inputStream.read()) != -1) {
                        outputStream.write(b);
                    }
                    inputStream.close();
                };
            } catch (FileNotFoundException | NullPointerException ignored) {
            }
            return null;
        }


Ответы (0 шт):