Ainsi, lorsque je mettais à jour les données de l'utilisateur, j'ai eu une erreur indiquant qu'il souhaitait télécharger à nouveau l'image même si j'avais déjà téléchargé l'image de l'utilisateur dans la base de données. Quelqu'un peut-il me dire comment enregistrer l'utilisateur sans télécharger l'image, mais conserver l'image téléchargée dans ma base de données ?
L'erreur est java.IOException : Impossible d'enregistrer le fichier image :
Causé par : java.nio.file.DirectoryNotEmptyException : profile-image/4
C'est mon contrôleur
@PostMapping("/profile/save") public String saveProfile(Profile profile, Model model, @RequestParam("image") MultipartFile multipartFile,@RequestParam(value="userId", required=false) Long userId) throws IOException { profile.setUser(userRepo.findById(userId).get()); String fileName = StringUtils.cleanPath(multipartFile.getOriginalFilename()) ; String uploadDir - "profile-image/"+ profile.getId(); FileUploadUtil.saveFile(uploadDir, fileName, multipartFile); profile.setProfileImg(fileName); profileService.saveProfile(profile); return "redirect:/user/profile";
Il y a un bug dans votre
FileUploadUtil
classe. Ce répertoire ne doit être créé que si le répertoire n'existe pas existe :