하은양 믿음군 효실맘 호홍홍집s

Multipart 업로드시 String[] 배열(checkbox 값같은것) 처리하기 예제 본문

가벼운 배움/jsp

Multipart 업로드시 String[] 배열(checkbox 값같은것) 처리하기 예제

호홍홍집 2017. 1. 25. 19:42

폼전송시 enctype="multipart/form-data" 방식으로 처리할 때 checkbox 같은 String[] 배열을 사용하기가 잘 생각나지 않아서
매번 고생하는데... 기억해 두자!!

String[] career0 = null;

int icareer0 = 0;

Hashtable<Integer,String> career0Arr = new Hashtable<Integer, String>();

// MultiPart ...

try{

List items = null;

Hashtable<String,Object> ht = new Hashtable<String,Object>();

Iterator iter = items.iterator();

String sItmName="";

String sItmValue="";

while(iter.hasNext()){

   FileItem item = (FileItem)iter.next();

   if(item.isFormField()){

sItmName = item.getFieldName();

sItmValue = Util.InjectionDefender(item.getString("utf-8"));

if(sItmName.trim().equals("career0")) {

   career0Arr.put(icareer0, sItmValue);

   icareer0++;

}else{

   ht.put(sItmName.trim(),sItmValue.trim());    

}                

   }else{

sItmName = item.getFieldName();

sItmValue = item.getName();     if(sItmValue == null) sItmValue = "";

if(sItmValue.length() > 1){

   if(sItmName.trim().equals("humanimage")){

humanimage = util.getFileName(sItmValue).trim();

String fileExt = humanimage.substring(humanimage.lastIndexOf(".")).replace(".","");

if(!sIMG_UPLOADABLE.contains(fileExt.toLowerCase())){

   out.println("<script type='text/javascript'>");

   out.println("alert('사진 파일첨부불가 \\n첨부가능파일 ("+sUPLOADABLE+")');history.back();");

   out.println("</script>");

   dbhandle.close(dbhandle.con);

   return;

}else{

   File upFile = util.getFile(sSavePath,humanimage);

   item.write(upFile);

   humanimage = upFile.getName();                            

}

   }

      }

  }                

}

// No MultiPart ...

}catch(Exception ee){

career0 = param.getParameterValues("career0");

if(career0 != null && career0.length > 0){

for(int i = 0; i < career0.length; i++){

career0Arr.put(i,career0[i]);

}

}

}

String tmpCareer0 = "";

for(int i = 0; i < career0Arr.size(); i++){

tmpCareer0 += (String)career0Arr.get(i);

}