Мне нужно вернуть изображение, хранящееся в 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())
}
Заранее спасибо