Проблемы с загрузкой составных файлов Spring Webflux с текстовыми файлами Windows

#spring-webflux #webflux

Вопрос:

При загрузке текстового файла с Mac данные обрабатываются должным образом. Когда один и тот же файл создается и загружается из Windows, код выдает исключение Indexoutofbound.

Мой класс маршрутизатора отдыха:

 @Configuration
public class RestRouter {
    @Bean
    public RouterFunction<ServerResponse> abc(final Handler handler) {
        return RouterFunctions.route(RequestPredicates.POST("/fileUpload").and(RequestPredicates.all()), handler::uploadFile);
    }
}
 

Мой Класс Обработчиков:

 public class Handler {
    public Mono<ServerResponse> uploadFile(final ServerRequest request){
        Flux<DataBuffer> chunk = request.body(BodyExtractors.toMultipartData()).flatMapMany(filedata -> filedata.toSingleValueMap().get("data").content());
        Flux<String> stringFlux = StringDecoder.allMimeTypes(StringDecoder.DEFAULT_DELIMITERS,true).
                decode(chunk, ResolvableType.forClass(String.class),null,null).doOnEach( l -> log.info("Decoded {}",l));
        ...
        ...
        //DB insertions
        return ...;
    }
 

Проблема, похоже, возникает в строке декодирования, я вижу нулевое значение, возвращаемое из декодирования после достижения нескольких строк из файла.

Есть ли лучший способ прочитать составные файлы данных, созданные в любой операционной системе, и сохранить их в базе данных.

Приношу извинения, если это окажется небольшой ошибкой с моей стороны!