<%@page contentType="text/html; charset=UTF-8;" pageEncoding="UTF-8" %> <%@page import="com.csc.library.utilities.*,com.csc.library.database.DataSet,java.util.*,com.csc.library.utilities.ThaiUtilities" %> <%@page import="com.csc.library.database.CscConnection" %> <%@page import="com.sun.org.apache.xerces.internal.impl.dv.util.Base64" %> <%@page import="java.awt.image.BufferedImage" %> <%@page import="java.io.ByteArrayInputStream" %> <%@page import="java.io.ByteArrayOutputStream" %> <%@page import="java.io.File" %> <%@page import="java.io.IOException" %> <%@page import="java.io.InputStream" %> <%@page import="javax.imageio.ImageIO" %> <%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload" %> <%@page import="org.apache.commons.fileupload.FileItemFactory" %> <%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory" %> <%@page import="org.apache.commons.fileupload.FileItem" %> <%@page import="com.csc.library.fputility.MsgPackage" %> <%@page import="com.csc.library.session.*" %> <%@page import="com.csc.library.fpprocess.*" %> <%@page import="com.google.gson.Gson" %> <%@page import="com.google.gson.GsonBuilder" %> <% System.out.print("***!! Save finger print page has been called from client !!***"); boolean isMultipart = ServletFileUpload.isMultipartContent(request); MsgPackage recdata = new MsgPackage(); //Gson gson = new Gson(); //Gson gs = new GsonBuilder().serializeNulls().create(); long curtime = System.currentTimeMillis(); if(isMultipart){ System.out.print("!! Multipart data detected !!"); // Create a factory for disk-based file items FileItemFactory factory = new DiskFileItemFactory(); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // Parse the request List /* FileItem */ items = upload.parseRequest(request); // Process the uploaded items Iterator iter = items.iterator(); HashMap dataitem = new HashMap(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { String name = item.getFieldName(); String value = item.getString(); dataitem.put(name, value); System.out.print("!! Field name : "+ name + " value " + value); } else { try { System.out.print("!! File upload detected !!"); dataitem.put("attchfile", item); /* String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); String path = "D:/EnterprisePT/myHRAppServer/webapps/CSC/hrAppWeb.war/UPLOAD/REGISFP/PICTURES/" + recdata.getCompany() + "/" ; File uploadedFile = new File(path + curtime + ".dat"); System.out.print("!! Absolute path -> " + uploadedFile.getAbsolutePath()); item.write(uploadedFile);*/ }catch(Exception e){ System.out.print(e.getMessage()); } } } /* save detail */ if(dataitem.containsKey("data")){ boolean uploadcomplete = false ; /* upload file and save into folder */ if(dataitem.containsKey("attchfile")){ try { FileItem item = (FileItem) dataitem.get("attchfile"); String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); String comp = (recdata.getCompany().equals(""))?"100":recdata.getCompany() ; //String path = "D:/EnterprisePT/Programmer/myHRAppServer/webapps/SYS/hrAppWeb.war/UPLOAD/REGISFP/PICTURES/" + comp + "/" ; String path = "D:/EnterprisePT/myHrAppServer/webapps/CSC/hrAppWeb.war/UPLOAD/REGISFP/PICTURES/" + comp + "/"; System.out.print(" !! Save fp file -- " + path + curtime + ".dat"); /* create path if not exist */ File file = new File(path); if (!file.exists()) { if (file.mkdir()) { System.out.println("Directory is created!"); File uploadedFile = new File(path + curtime + ".dat"); item.write(uploadedFile); } else { System.out.println("Failed to create directory!"); } }else{ File uploadedFile = new File(path + curtime + ".dat"); item.write(uploadedFile); uploadcomplete = true ; } }catch(Exception e){ System.out.print(e.getMessage()); } } try { System.out.print("show --> " + (String) dataitem.get("data")); MsgPackage msgpack = new MsgPackage(); recdata = msgpack.convStrToMsgPackage((String) dataitem.get("data")); recdata.setFpfilename(curtime + ".dat"); /*set default (test used)*/ //recdata.setDevNo("001"); //recdata.setPassCode("ZBCDFGHJKIUYT"); //recdata.setCompanyid("100"); //recdata.setSerialNo("1236547890"); /*******/ if(uploadcomplete){ SV_RegisFingerprint regf = new SV_RegisFingerprint(recdata); regf.run(); recdata.setMessage("Upload fp template complete"); recdata.setStatusComplete(); /* error status */ }else{ /* upload file failed */ recdata.setMessage("Upload failed"); recdata.setStatusError(); /* error status */ } }catch(Exception e){ System.out.print(e.getMessage()); } } }else{ System.out.print("!! package received is not in multipart format !!"); } %> <%=recdata.getPackage()%>