0

Meine unteren Code lädt nur die erste Datei in einem Array an den Pfad Speicherort. Kann jemand sehen, was mit meinem Server-Seite-Controller falsch ist:AJAX-Controller durchläuft nicht jede Datei und speichert den Speicherort. Nur die erste Datei hochladen

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

} 

Antwort

2
return("File Uploaded"); 

Diese aus der Schleife bricht.

Sie müssen return nach der Schleife enden, wenn Sie möchten, dass es vollständig ausgeführt wird.

Verwandte Themen