html

<form method="post" action="write" enctype="multipart/form-data">

<input type='file' id="imgs"  name="test[]" accept="image/*" multiple/>

</form>








@WebServlet("/write")

public class BoardWriteController extends HttpServlet{
 private BoardMapper mapper;
 
 public BoardWriteController() {

  mapper = MyAppSqlConfig.getSqlSession().getMapper(BoardMapper.class);
 }

 
 @Override
 protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
  
  String uploadPath = "C:/Program/java/upload";
  SimpleDateFormat sdf = new SimpleDateFormat("/yyyy/MM/dd/HH");
  String datePath = sdf.format(new Date());
  File file = new File(uploadPath+datePath);
  if(!file.exists()) { file.mkdirs(); } // 디렉토리 생성
  
  //mRequset 객체 생성
  MultipartRequest mRequest = new MultipartRequest(arg0,
    uploadPath+datePath,
    1024*1024*100,
    "UTF-8",
    new MlecFileRenamePolicy()
    );
  
  Enumeration<String> names = mRequest.getFileNames();
  while(names.hasMoreElements()) {
   // attach1, attach2 . . .
   String name = names.nextElement();
   System.out.println(name);
   File f = mRequest.getFile(name);
   
   
   
   // db에 파일 정보를 올리는 과정
   if(f != null) {
    ClipFile clipFile = new ClipFile();
    clipFile.setNo(board.getNo());
    clipFile.setFilePath(uploadPath+datePath);
    clipFile.setFileSize(f.length());
    clipFile.setOriName(mRequest.getOriginalFileName(name));
    clipFile.setSystemName(mRequest.getFilesystemName(name));
    mapper.insertClipFile(clipFile);
   }
  }
  
  arg1.sendRedirect("list");
  
 }
}



db에 올리는 과정이 파일 이름 뽑아오는건데

그거보다


저렇게 해서


차례대로


1.jpg 첨부

2.jpg 첨부

후에 섬밋하면


실제 업로드폴더에는 2.jpg밖에 없다


업로드가 왜 하나밖에 안되는걸까?