기본 콘텐츠로 건너뛰기

9월, 2014의 게시물 표시

[java] 파일업로드 구현시 참고사항

 1. 입력화면 1-1. <form enctype="multipart/form-data" > 기본 form에 enctype="multipart/form-data" 부분을 추가. 1-2. <input type="file">  파일업로드 기본 input 이다. 브라우저마자 약간 다를수는 있다. 이대로 쓰는게 가장 좋긴하지만 보통 파일선택 버튼을 이미지로 바꾸고, 파일명을 버튼 앞쪽으로 옮기는걸 많이하는데, 이렇게 되면 신경써야 하는 부분이 많아진다. 요새는 이부분에 대한 javascript 라이브러리들이 좀 많은것 같다. 대충 bootstrap 위주로 검색하자마자 나온거 2가지 첨부. http://gregpike.net/demos/bootstrap-file-input/demo.html http://markusslima.github.io/bootstrap-filestyle/ 2. 업로드처리 2-1 mulipartrequest multipart/form-data 로 인코딩된 form데이터를 받으려면 httpservletrequest가 아닌 multipartrequest로 받아준다. MultipartRequest multi = new MultipartRequest (request, savePath, sizeLimit, "euc-kr" , new DefaultFileRenamePolicy ()); 2-2 파일저장 방식 저장방법은 크게 두가지다. blob 처럼 db에 바로 저장을 하거나, 어딘가에 파일서버를 두고 db에는 파일 위치를 저장하는 저장하는 방식. blob이 경우 쿼리로 바로 뽑으면되서, 구현이 조금 더 쉬울거 같긴하다. 후자의 경우는 nas나 파일서버가 별도로 필요해서 조금 더 복잡도가 올라가지만 DB비용이나 부하를 생각하면 후자가 좋을것 같기도 하다. 2-3 파일폴더 & 파일명 정