Запрос изображения остается приостановленным с функционалом весны webflux - PullRequest
1 голос
/ 14 марта 2019

Мне нужно вернуть изображение, хранящееся в mogodb с gridfs, но каждый раз, когда я получаю изображение, запрос остается приостановленным.В частности, это происходит с изображениями свыше 40К.На самом деле я использую данные пружины mongodb реактивный 2.2.0.M2.

Используется следующий код

MediaRepository.kt

fun getById(id: String): Mono<ReactiveGridFsResource> {
    return gridFsOperations.findFirst(Query(Criteria.where("_id").`is`(id)))
        .flatMap { file ->
            gridFsOperations.getResource(file)
        }
}

MediaHandler.kt

fun getById(request: ServerRequest): Mono<ServerResponse> {
    val id: String = request.pathVariable("id")

    return mediaRepository.getById(id)
        .flatMap { resource ->
            ServerResponse.ok()
                .header(CONTENT_TYPE, "image/jpeg")
                .body(BodyInserters.fromDataBuffers(resource.downloadStream))
        }
        .switchIfEmpty(ServerResponse.notFound().build())
}

Заранее спасибо

...