0

以下のコードは、配列内の最初のファイルをパスの場所にアップロードしています。誰もが私のサーバー側のコントローラと間違っているものを見ることができます。AJAXコントローラが各ファイルをループして保存しません。最初のファイルアップロードのみ

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

} 

答えて

2
return("File Uploaded"); 

これは、ループの外に壊れます。

完全に実行したい場合は、ループ終了後にreturnを入力する必要があります。

関連する問題