첨부파일을 서버에 전송하는 방식은 크게 < form > 태그를 이용해 업로드 하는 방식과 Ajax를 이용하는 방식으로 나눠볼 수 있다.브라우저상에서 첨부파일에 대한 처리는 주로 다음과 같은 방식들을 이용한다.< form > 태그를 이용하는 방식 : 브라우저의
최근 포털에서도 특정한 확장자를 제외한 파일들의 업로드를 제한하는 경우가 많은데, 이는 첨부파일을 이용하는 웹 공격을 막기 위해서 행해지는 조치다.예제는 첨부파일의 확장자가 'exe, sh, zip'등의 경우에는 업로드를 제한하고, 특정 크기 이상의 파일은 업로드 할
이미지의 경로에 대한 처리와 중복 이름에 대한 처리가 완료되었다면, 남은 작업은 일반 파일과 이미지 파일을 구분하는 것이다.이미지 파일의 경우에는 화면에 보여지는 작은 이미지(이하 섬네일)를 생성하는 추가적인 처리다.만일 용량이 큰 파일을 섬네일 처리하지 않는다면 모바
첨부파일 데이터의 업로드가 완료되었지만, 아직도 많은 작업이 남아있다.Ajax를 이용해 파일을 업로드했지만, 아직 브라우저 쪽에 아무런 데이터도 전달하지 않았기 때문에 브라우저에서는 어떠한 피드백도 받을 수 없는 상황이다.서버에서 Ajax의 결과로 전달해야 하는 데이터
브라우저에서 첨부파일의 업로드 결과가 위와 같이 JSON 객체로 반환되었다면, 남은 작업은 다음과 같다.업로드 후에 업로드 부분을 초기화 시키는 작업결과 데이터를 이용해 화면에 섬네일이나 파일 이미지를 보여주는 작업현재 업로드는 < input type='file'
업로드된 결과는 JSON 형태로 받아왔기 때문에 이를 이용해 화면에 적절한 섬네일을 보여주거나 화면에 파일 아이콘 등을 보여주어서 결과를 피드백해줄 필요가 있다.Ajax의 처리결과를 보여주도록 수정한다.uploadAjax.jsp에는 별도의 JavaScript 함수를 추
첨부파일의 업로드가 처리되는 과정도 복잡하지만, 이를 사용자가 사용하는 과정 역시 신경 써야 하는 일이 많다.브라우저에서 보이는 첨부파일은 크게 1) 이미지 종류와 2) 일반 파일로 구분되므로 사용자의 첨부파일과 관련된 행위도 종류에 따라 다르게 처리되어야 한다.만일
일반 첨부파일과 달리 섬네일이 보여지는 이미지 파일의 경우 섬네일을 클릭하면 원본 이미지를 볼 수 있게 처리한다.섬네일의 이미지가 '업로드된 경로 +/ㄴUUID+파일이름'이었다면, 원본 이미지의 이름은 중간에 '/s\_'가 '/'로 변경되는 점이 다르다.원본 이미지를
첨부파일 삭제는 생각보다 많은 고민이 필요한 작업이다.단순히 파일 하나만을 삭제한다고 생각할 수 있지만 실제로는 다음과 같은 문제점들을 고민해야 한다.이미지 파일의 경우에는 섬네일까지 같이 삭제되어야 하는 점파일을 삭제한 후에는 브라우저에서도 섬네일이나 파일 아이콘이
기존의 프로젝트에 첨부파일 기능을 추가하는 작업을 진행한다.첨부파일은 게시물의 등록/조회/수정, 삭제 화면에서 처리할 필요가 있으므로 각 단계마다 나누어서 개발을 진행한다.개발을 위해 예제를 작성한 프로젝트에 기존 프로젝트의 설정이나 패키지 등을 먼저 복사해서 추가한
첨부파일 자체의 처리는 Ajax를 통해 이루어지므로, 게시물의 등록 시점에는 현재 서버에 업로드된 파일들에 정보를 등록하려는 게시물의 정보와 같이 전송해서 처리한다.이 작업은 게시물의 등록 버튼을 클릭했을 때 현재 서버에 업로드된 파일의 정보를 < input ty
파라미터를 수집하는 BoardController는 별도의 처리 없이 전송되는 데이터가 제대로 수집되었는지를 먼저 확인한다.BoardController의 regeister()는 BoardService를 호출하기 전에 log를 이용해 확인하는 작업을 먼저 진행한다.브라우저
게시물의 조회에서는 첨부파일을 다운로드하거나 원본 이미지의 파일을 볼 수 있는 기능을 사용하게 된다.게시물의 조회에서 고민해야 하는 내용은 첨부파일을 한 번에 볼 것인지, Ajax를 이용해 별도로 처리할 것인지에 대한 결정이다.게시물의 정보는 tbl_board 테이블에
BoardController는 특정한 게시물 번호를 이용해 첨부팡리과 관련된 데이터를 JSON으로 반환하도록 처리한다.BoardController는 @RestController로 작성되지 않았기 때문에 직접 @ResponseBody를 적용해 JSON 데이터를 반환하도록
게시물을 삭제할 때는 게시물이 포함된 첨부파일 역시 같이 삭제할 필요가 있다.단순히 데이터베이스 상에서 삭제만 이루어지는 게 아니라 실제 폴더 내의 파일도 같이 삭제할 필요가 있기 때문에 작업의 순서 역시 신경 써야만 한다.폴더에서의 파일 삭제는 위험한 작업이기 때문에
게시물을 수정할 때 첨부파일과 관련된 작업은 사실상 게시물 등록 작업과 상당히 유사하다.첨부파일이라는 개념 자체가 수정이 아닌 기존 파일을 삭제하고, 새로운 파일을 추가하기 때문이다.게시물 수정에서 첨부파일은 수정이라는 개념보다는 삭제 후 다시 추가한다는 개념으로 접근