import java.io.PrintWriter;
import java.io.IOException;
import java.io.File;
import java.util.List;
import java.util.Iterator;
import java.util.Calendar;
import java.lang.Exception;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.FileItem;
import
public class FileUp extends HttpServlet
{
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException
{
try
{
response.setContentType("text/html;charset=euc-kr");
PrintWriter out = response.getWriter();
long yourMaxRequestSize = 5 * 1024 * 1024; // 최대 저장할수 있는 파일 사이즈5MBytes
int yourMaxMemorySize = 1024* 50; // memory size setting
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(yourMaxMemorySize);
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(yourMaxRequestSize);
List list = upload.parseRequest(request);
out.print("파일 갯수 : " + list.size() + "<br>");
Iterator iter = list.iterator();
while(iter.hasNext())
{
FileItem item = (FileItem)iter.next();
if(item.isFormField()) //폼체크
{
String name = item.getFieldName();
String value = item.getString();
out.print( "name = " + name + ", value = " + value + "<br>");
}
else
{
//상대경로 설정시(참고)
//String contextPath = application.getRealPath("/");
//File uploadedFile = new File(contextPath + "\\upload\\" + fileName );
String uploadPath = "C:\\worktest\\test_servlet\\web\\test\\";
//String fullFileName = item.getName(); //업로드파일
//int pos = fullFileName.lastIndexOf("\\");
//String fileName = fullFileName.substring(pos + 1); //파일명
Calendar currentSec = Calendar.getInstance();
String fileName = Long.toString(currentSec.getTimeInMillis()) + ".xls";
//파일명의 중복을 막기위해 milli Second로 파일명
File uploadedFile = new File(uploadPath + fileName);
item.write(uploadedFile); //파일업로드
out.print( "파일명 : " + fileName + "<br>저장완료!!<br>");
String tab = ExcelConvert.ExcelToWeb(uploadPath + fileName); //엑셀을 XML로 변환
out.print(tab);
}
}
}
catch(FileUploadException e)
{
e.toString();
}
catch(IOException e)
{
e.toString();
}
catch(Exception e)
{
e.toString();
}
}
}