Как получить только запрошенный файл в связанный объект

#spring-boot #spring-data-jpa #thymeleaf #multipartform-data

#весенняя загрузка #spring-data-jpa #thymeleaf #multipartform-данные

Вопрос:

у меня есть список файлов в каталоге, который связан с объектами папок в моем приложении, каждый файл привязан к уникальному классу папки и имеет ту же ссылку, что и идентификатор папки ==> folder.id = файл.не называйте файловый объект, когда я пытаюсь отобразить содержимое моей папки, он извлекает все файлы каталога, а не только тот, который связан с моей папкой, это содержимое папки отображения моей службы

 @RequestMapping("/displayfolder")
    public String displayfolder(Model model, String  reffolder, String filename,
            @RequestParam(name="page", defaultValue="0") int page,
            @RequestParam(name="size", defaultValue="10") int size){
        model.addAttribute("reffolder", reffolder);
        model.addAttribute("filename", filename);
        
    try{    
        Folder folder = folderprocess.displayfolder(reffolder);
        model.addAttribute("folder", folder);
        
        model.addAttribute("files", storageService.loadAll().map(
                path -> ServletUriComponentsBuilder.fromCurrentContextPath()
                        .path("/Files/")
                        .path(path.getFileName().toString())
                        .toUriString())
                .collect(Collectors.toList()));
                
    }catch (Exception e) {
        model.addAttribute("error", e);
        return "redirect:/displayfolder?reffolder=" reffolder 
                "amp;error=" e.getMessage();
    }
        return "edit_folder";
    }
  

Служба loadAll():

 public Stream<Path> loadAll() {
        try {
            return Files.walk(this.rootLocation, 1)
                    .filter(path -> !path.equals(this.rootLocation))
                    .map(this.rootLocation::relativize);
        }
        catch (IOException e) {
            throw new StorageException("Failed to read stored files", e);
        }

    }
  

Как я могу получить только файл, связанный с запрошенной папкой?
Спасибо

Комментарии:

1. Ваш вопрос неясен. Можете ли вы еще немного объяснить, что вы пробовали, а что не работает?

2. Спасибо за ответ, мое приложение управляет несколькими объектами папок, к каждому объекту папки прикреплен документ, который хранится в ОС Linux. имена файлов совпадают с идентификатором папки и вызываются в папке по URL, например: linuxserver:8081/filename, поэтому моя проблема заключается в том, как загрузить файл по имени, потому что в моем случае, когда я использую приведенный ниже код, он загружает весь файл на диск, а не только тот, который необходим

3. Вы отладили то, что loadAll возвращает? Работает ли ваш filter и map так, как задумано?