<form action="../board/fileUpload" method="POST"
enctype="multipart/form-data">
<table>
<tbody>
<tr>
<th>제목</th>
<td><input type="text" name="title"></td>
</tr>
<tr>
<th>카테고리</th>
<td>
<select name="category">
<option value="bigbang">bigbang</option>
<option value="classic">classic</option>
<option value="deep sea">deep sea</option>
</select>
</td>
</tr>
<tr>
<th>방수 깊이</th>
<td><input type="text" name="depth"></td>
</tr>
<tr>
<th>가격</th>
<td><input type="text" name="price"></td>
</tr>
<tr>
<th>이미지</th>
<td><input type="file" name="file"></td>
</tr>
</tbody>
</table>
<div>
<button>확인</button>
</div>
</form>
@WebServlet("/board/fileUpload")
public class FileUploadController extends HttpServlet {
private static final long serialVersionUID = 1L;
public FileUploadController() {
super();
}
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
int maxFileSize = 1024 * 1024 * 50; // 50메가
String encoding = "UTF-8";
DefaultFileRenamePolicy fileRenamePolicy = new DefaultFileRenamePolicy();
String savePath = "upload";// 저장할 폴더 이름
ServletContext context = this.getServletContext();
String realPath = context.getRealPath(savePath);
File dir = new File(realPath);
if (!dir.exists()) {
dir.mkdir();
}
/*
* MultipartRequest mutipartRequest = new MultipartRequest(request, 파일이 저장되는 경로,
* 올릴 수 있는 파일 사이즈, 인코딩, 중복파일 이름 처리);
*/
// 파일 처리 시 일반 request 대신 아래와 같은 특별한 request 사용
MultipartRequest mutipartRequest = new MultipartRequest(request, realPath, maxFileSize, encoding,
fileRenamePolicy);
String title = mutipartRequest.getParameter("title");
String category = mutipartRequest.getParameter("category");
int depth = Integer.parseInt(mutipartRequest.getParameter("depth"));
int price = Integer.parseInt(mutipartRequest.getParameter("price"));
String originalFile = mutipartRequest.getOriginalFileName("file");
String renameFile = mutipartRequest.getFilesystemName("file");
ClockDto dto = new ClockDto();
dto.setTitle(title);
dto.setCategory(category);
dto.setDepth(depth);
dto.setPrice(price);
dto.setClockImg(originalFile);
dto.setClockRealImg(renameFile);
ClockDao dao = new ClockDao();
int result = dao.insertClock(dto);
if (result > 0) {
ScriptWriter.alertAndBack(response, "파일 입력 완료");
} else {
ScriptWriter.alertAndBack(response, "파일 처리 X");
}
System.out.println(title + "===" + originalFile + "===" + renameFile);
}
}
[eclipse workspace 주소]\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\[작업 중인 프로젝트]\upload
하나의 section을 화면에 꽉 차게 만드는 js 라이브러리
fullpage.min.js와 fullpage.css