PartUploadPro2Servlet.java > MODEL

본문 바로가기
사이트 내 전체검색

MODEL

PartUploadPro2Servlet.java

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 682회 작성일 21-07-15 19:32

본문

import java.io.IOException;

import java.io.PrintWriter;


import javax.servlet.ServletException;

import javax.servlet.annotation.MultipartConfig;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.Part;


@WebServlet("/partUploadPro2") 

@MultipartConfig(

fileSizeThreshold=0,

location = "C:\\upload"

)

public class PartUploadPro2Servlet extends HttpServlet {

private static final long serialVersionUID = 1L;


public PartUploadPro2Servlet() {

super();

}


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

request.setCharacterEncoding("UTF-8");

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


String uploadFileNameList = ""; 

String file1 = "";

String file2 = "";


//전송된 모든 파라미터 값들을 가지고 Part 객체를 생성한다. 

//type=file 속성 값이 아닌 파라미터에 대해서도 객체가 생성되기 때문에 if구문으로 처리를 해야한다. 

//type=file 속성만 true, 다른것들을 false... && part.getSize()>0

for(Part part: request.getParts()){

//if(!part.getName().equals("writer")){

//if(part.getName().equals("partFile1") || part.getName().equals("partFile2")){ 

if((part.getName().equals("partFile1") || part.getName().equals("partFile2")) && part.getSize()>0){

String contentDisposition = part.getHeader("content-disposition");

System.out.println("contentDisposition = " + contentDisposition); //콘솔 출력

String uploadFileName = getUploadFileName(contentDisposition);


//오늘 날짜 구하기

java.util.Date today = new java.util.Date();

SimpleDateFormat cal = new SimpleDateFormat("yyyyMMddhhmmss");

String signdate = cal.format(today);


//중복 파일 피하기 위한 처리 

uploadFileName = signdate+"_"+uploadFileName; 


part.write(uploadFileName);

uploadFileNameList += " " + uploadFileName;


if(part.getName().equals("partFile1")) {

file1 = uploadFileName;

}

if(part.getName().equals("partFile2")) {

file2 = uploadFileName;

}

}

}


// 출력부분 

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();


out.println("작성자  " + writer + "님이 " + uploadFileNameList + " 파일을 업로드 하였습니다.<br>" );

out.println("file1 : "+file1+" 파일을 업로드 하였습니다.<br>" );

out.println("file2 : "+file2+" 파일을 업로드 하였습니다.<br>" );

}


//사용브라우저가 Chrome인 경우

private String getUploadFileName(String contentDisposition) {

String uploadFileName = null;

String[] contentSplitStr = contentDisposition.split(";");

int firstQutosIndex = contentSplitStr[2].indexOf("\"");

int lastQutosIndex = contentSplitStr[2].lastIndexOf("\"");

uploadFileName = contentSplitStr[2].substring(firstQutosIndex + 1, lastQutosIndex);

return uploadFileName;

}

//사용 브라우저가 IE인 경우

/*

private String getUploadFileName(String contentDisposition) {

String uploadFileName = null;

String[] contentSplitStr = contentDisposition.split(";");

int lastPathSeparatorIndex = contentSplitStr[2].lastIndexOf("\\");

int lastQutosIndex = contentSplitStr[2].lastIndexOf("\"");

uploadFileName = contentSplitStr[2].substring(lastPathSeparatorIndex + 1, lastQutosIndex);

return uploadFileName;

}

*/

}

추천0

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

공지사항
자유게시판
질문답변
1:1문의

 

별명 : 터푸가위
주소 : 부산시 동래구 명장로20번길 90
대표 : 박규태
메일 : dancepkt@******.com

접속자집계

오늘
222
어제
160
최대
10,760
전체
273,831
Copyright © dancePKT . All rights reserved.