본문 바로가기
WEB/트라우마 NCS_5

by 함댕댕 2021. 10. 31.

@WebServlet("/product_img/*")

public class Product_img extends HttpServlet { private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doProc(request, response);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doProc(request, response);

}

protected void doProc(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// -----공통---------

request.setCharacterEncoding("UTF-8");

Util util = new Util();

String serverInfo[] = util.getServerInfo(request);

//String refer = serverInfo[0];

String path = serverInfo[1];

String url = serverInfo[2];

//String uri = serverInfo[3];

//String ip = serverInfo[4];

//String ip6 = serverInfo[5];

String imsiUrl = serverInfo[6];

int cookNo = util.getSessionCheck(request);

// -----공통---------

String attach_path = "C:\\junglim\\img"; /* "C:/junglim/img"; */

int max_upload = 10 * 1024 * 1024; //10M

String upload_path = attach_path + "/product_img";

String menu_gubun = "";

String page = "/WEB-INF/mvc/main/main.jsp";

String imsipage = "";

if (imsiUrl.equals("list.do")) {

menu_gubun = "img_list";

imsipage = "../product_img/list.jsp";

Product_imgDAO dao = new Product_imgDAO();

ArrayList<Product_imgDTO> list = dao.getSelectAll();

request.setAttribute("list", list);

request.setAttribute("menu_gubun", menu_gubun);

request.setAttribute("imsipage", imsipage);

RequestDispatcher rd = request.getRequestDispatcher(page);

rd.forward(request, response);

} else if (imsiUrl.equals("view.do")) {

imsipage = "../product_img/view.jsp";

request.setAttribute("imsipage", imsipage);

int no = Integer.parseInt(request.getParameter("no"));

Product_imgDAO dao = new Product_imgDAO();

RequestDispatcher rd = request.getRequestDispatcher(page);

rd.forward(request, response);

} else if (imsiUrl.equals("chuga.do")) {

menu_gubun = "img_chuga";

imsipage = "../product_img/chuga.jsp";

request.setAttribute("menu_gubun", menu_gubun);

request.setAttribute("imsipage", imsipage);

RequestDispatcher rd = request.getRequestDispatcher(page);

rd.forward(request, response);

} else if (imsiUrl.equals("chugaProc.do")) {

java.io.File isDir = new java.io.File(upload_path);

if (!isDir.exists()) {

try {

isDir.mkdirs();

System.out.println("디렉토리가 존재하지 않습니다. 디렉토리를 생성합니다.");

} catch(Exception e) {

e.getStackTrace();

}

}

/*중요하데이*/

MultipartRequest multi = new MultipartRequest(

request,

upload_path,

max_upload,

"utf-8",

new DefaultFileRenamePolicy());

int upload_counter = Integer.parseInt(multi.getParameter("upload_counter"));

String name = request.getParameter("name");

int price = Integer.parseInt(request.getParameter("price"));

String description = request.getParameter("description");

System.out.println(name + price + description);

String fileOrgname0 = multi.getOriginalFileName("box_0"); //사용자가 올린 파일이름

String fileName0 = multi.getFilesystemName("box_0");

String fileType0 = multi.getContentType("box_0"); //해킹가능성

String fileOrgname1 = multi.getOriginalFileName("box_1"); //사용자가 올린 파일이름

String fileName1 = multi.getFilesystemName("box_1");

String fileType1 = multi.getContentType("box_1"); //해킹가능성

String fileOrgname2 = multi.getOriginalFileName("box_2"); //사용자가 올린 파일이름

String fileName2 = multi.getFilesystemName("box_2");

String fileType2 = multi.getContentType("box_2"); //해킹가능성

java.io.File file0 = multi.getFile("box_0");

java.io.File file1 = multi.getFile("box_1");

java.io.File file2 = multi.getFile("box_2");

/*파일사이즈 구하기*/

long fileSize0 = 0;

String mimeType0 = null;

if (file0 != null) {

fileSize0 = file0.length();

Tika tika = new Tika();

mimeType0 = tika.detect(file0);

}

long fileSize1 = 1;

String mimeType1 = null;

if (file1 != null) {

fileSize1 = file1.length();

Tika tika = new Tika();

mimeType1 = tika.detect(file1);

}

long fileSize2 = 2;

String mimeType2 = null;

if (file2 != null) {

fileSize2 = file2.length();

Tika tika = new Tika();

mimeType2 = tika.detect(file2);

}

Enumeration files = multi.getFileNames();

while (files.hasMoreElements()) {

String formTagName = (String)files.nextElement();

String fileOrgname = multi.getOriginalFileName(formTagName);

String fileName = multi.getFilesystemName(formTagName);

String fileType = multi.getContentType(formTagName);

long fileSize = 0; //파일사이즈는 롱타입으로 해줄것 인트 ㄴㄴ

String mimeType = null;

java.io.File file = multi.getFile(formTagName);

if (file != null) { fileSize = file.length();

Tika tika = new Tika();

mimeType = tika.detect(file);

}

System.out.println(fileOrgname+"/"+fileName+"/"+fileType+"/");

}

System.out.println("fileSize0 : " + fileSize0);

System.out.println("fileSize1 : " + fileSize1);

System.out.println("fileSize2 : " + fileSize2);

System.out.println("fileName0 : " + fileName0);

System.out.println("fileName1 : " + fileName1);

System.out.println("fileName2 : " + fileName2);

System.out.println("fileOrgname0 : " + fileOrgname0);

System.out.println("fileOrgname1 : " + fileOrgname1);

System.out.println("fileOrgname2 : " + fileOrgname2);

System.out.println("fileType0 : " + fileType0);

System.out.println("fileType1 : " + fileType1);

System.out.println("fileType2 : " + fileType2);

System.out.println("file0 : " + file0);

System.out.println("file1 : " + file1);

System.out.println("file2 : " + file2);

} else if (imsiUrl.equals("sujung.do")) {

} else if (imsiUrl.equals("sujungProc.do")) {

} else if (imsiUrl.equals("sakje.do")) {

} else if (imsiUrl.equals("sakjeProc.do")) {

}

}

}

댓글