Загрузить файл в моем весеннем загрузочном приложении - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь загрузить файл в моей форме. Когда я выбираю файл для загрузки, все содержимое выбранной папки было загружено, включая целевой файл.Я хочу, чтобы только один файл был загружен не всеми.Это код функции загрузки.

@PostMapping("/saveordre")
public String formOrdre(Model model ,OrdreAjout ordre1,OrdreSupp ordre2, String typeOrdre,@RequestParam("Fichier1") MultipartFile[] files, RedirectAttributes redirectAttributes) {

    for(MultipartFile uploadedFile : files) {

        File file = new File(UPLOADED_FOLDER + uploadedFile.getOriginalFilename());
        try {
            uploadedFile.transferTo(file);
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    try {
        if(typeOrdre.equals("OA"))
            ordreMetier.save(ordre1);
        else
            ordreMetier.save(ordre2);   
    }
    catch (Exception e) {
        model.addAttribute("error", e);
    }

    model.addAttribute("ordre", new Ordre());
    files=null;

    return "FormOrdre";
}

Шаблон тимилиста включает в себя откуда enctype = "multipart / form-data".Любой может помочь мне и спасибо.

1 Ответ

0 голосов
/ 21 февраля 2019
@PostMapping("/saveordre")
public String formOrdre(Model model ,OrdreAjout ordre1,OrdreSupp ordre2, String typeOrdre,@RequestParam("file") MultipartFile file)  {

    rootLocation=rootLocation.getRoot();
    System.out.println(rootLocation);
    String filename = StringUtils.cleanPath(file.getOriginalFilename());
    try {
        if (file.isEmpty()) {
            throw new IOException("Failed to store empty file " + filename);
        }
        if (filename.contains("..")) {
            // This is a security check
            throw new IOException(
                    "Cannot store file with relative path outside current directory "
                            + filename);
        }
        try (InputStream inputStream = file.getInputStream()) {
            Files.copy(inputStream, this.rootLocation.resolve(filename),
                StandardCopyOption.REPLACE_EXISTING);
        }
    }
    catch (IOException e) {

    }





    try {
        if(typeOrdre.equals("OA"))
            ordreMetier.save(ordre1);
        else
            ordreMetier.save(ordre2);   

    }

    catch (Exception e) {
        model.addAttribute("error", e);
    }


    model.addAttribute("ordre", new Ordre());


    return "FormOrdre";


}

я попробовал этот код, но произошла ошибка, показывающая, что «Обязательный файл части запроса» отсутствует. Org.springframework.web.multipart.support.MissingServletRequestPartException: Обязательный элемент запроса «файл» отсутствует ».Но в моей форме эта часть существует, я не знаю, почему она не видит к весне ???

...