0

Mon code ci-dessous ne télécharge que le premier fichier d'un tableau vers l'emplacement du chemin. Quelqu'un peut-il voir ce qui ne va pas avec mon contrôleur côté serveur:Le contrôleur AJAX ne parcourt pas chaque fichier et enregistre l'emplacement. Seul le premier fichier est chargé

private static String UPLOADED_FOLDER = "C://temp//"; 

@RequestMapping(value = { "/fileUpload" }, method = RequestMethod.POST) 
@ResponseBody 
public String uploadFile(@RequestParam("number") String number, @RequestParam("files[]") MultipartFile[] files, MultipartHttpServletRequest req, HttpServletResponse res) 
{  

    for (MultipartFile file : files) { 

    try { 
     File directory = new File(UPLOADED_FOLDER + number); 
     logger.info(directory.toString()); 
       if (! directory.exists()){ 
        directory.mkdir(); 
        logger.info("directory created"); 
        } 
      byte[] bytes = file.getBytes(); 
      logger.info(bytes.toString()); 
      Path path = Paths.get(UPLOADED_FOLDER + number + "//" + file.getOriginalFilename()); 
      logger.info(path.toString()); 
      Files.write(path, bytes); 
      logger.info("You have successfully uploaded '" + file.getOriginalFilename() + "'"); 
      return("File Uploaded"); 


    } catch (Exception e) { 
     res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); 
     logger.error("Failed to upload file '" + file.getOriginalFilename() + "'", e); 
     return("File Not Uploaded"); 
    } 
} 
    return "redirect:/fileUpload"; 
} 

} 

Répondre

2
return("File Uploaded"); 

Cela brise de la boucle.

Vous devez mettre return après la fin de la boucle si vous voulez qu'elle fonctionne complètement.