Évitez les erreurs lors de la modification des données sans télécharger les images des utilisateurs
P粉707235568
P粉707235568 2024-03-31 12:44:01
0
1
396

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";

P粉707235568
P粉707235568

répondre à tous(1)
P粉156532706

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 :

public static void saveFile(String uploadir, String fileName, MultipartFile multipartFile) throws IOException {
    Path uploadPath = Paths.get(uploadDir);
    if (!Files.exists(uploadPath)) {
        Files.createDirectories(uploadPath);
    }
    try (InputStream inputStream = multipartFile.getInputStream()) {
        Path filePath = uploadPath. resolve(fileName);
        System.out.printIn(filePath.toFile()-getAbsolutePath()+"File Path*******");
        Files.copy(inputStream, filePath, StandardCopyOption.REPLACE_EXISTING);
    } catch (IOException ioe) {
        throw new IOException("Could not save image file: " + fileName, ioe);
    }
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal