제품 업로드 폼에 파일 업로드를 추가하고
썸네일 보기도 같이 넣었다.
파일업로드는 가장 기본적으로만 진행했다.
폼은 post로 진행할 것 enctype을 추가할 것
<form id="writefrm" action="InsertProductServlet"
method="post" enctype="multipart/form-data">
request.getParameter가 안 되기 때문에
multi.getParameter 로 진행할 것.
파일이 없이 등록하는 경우를 위해 fileName == null 일 경우는
그냥 제품 테이블에만 등록하였고
파일이 있는 경우는 제품테이블과 파일 테이블에 같이 등록하였다.
String savePath = "upload";// 저장하는 폴더
int uploadFileSizeLimit = 5 * 1024 * 1024;
String encType = "utf-8";
ServletContext context = getServletContext();
String uploadFilePath = context.getRealPath(savePath);
MultipartRequest multi = new MultipartRequest
(request, uploadFilePath, uploadFileSizeLimit, encType, new DefaultFileRenamePolicy());
int productPrice = Integer.parseInt(multi.getParameter("productPrice"));
String fileName = multi.getFilesystemName("uploadProduct");
if (fileName == null) {
int result = dao.insertProduct(productName, productPrice, productType, productBrand);
if (result == 1) {
System.out.println("파일 없이 등록완료");
}
} else {
int result = dao.insertProduct(productName, productPrice, productType, productBrand);
int fileResult = dao.insertProductFile(productName, fileName);
if (result == 1 && fileResult == 1) {
System.out.println("파일까지 등록완료");
}
}
img src에 변수 추가하는것때문에 약간 헤매었다.
'<img src="upload/'+results[i].productfile+'">'
으어어..
$.each(results, function(i){
str += '<TD>'+'<img src="upload/'+results[i].productfile+'" height="100px">'+'</TD>
<TD >' + results[i].productType + '</TD>
<TD >' + results[i].productName + '</TD>
<TD >' + results[i].productPrice + '</TD>
<TD >' + results[i].regdate + '</TD>';
str += '</TR>';
});
이런느낌으로 들어가고 이미지가 없는경우는 기본 이미지가 자동으로 들어간다.