순서 1. 파일 저장 2. UUID 적용 1. 파일 저장 뷰로 전달받은 파일을 지정한 폴더에 저장하기 위해 MultipartFile 클래스의 transferTo() 메서드를 사용했습니다. 사용 방법은 전달받은 파일인 MultipartFile 객체에 저장하고자 하는 위치를 지정한 File 객체를 파라미터로 하여 transferTo() 메서드를 호출하는 것입니다. MultipartFile.transferTo(File detination); 위의 메서드를 사용하기 위해 저장될 파일 이름과 위치 전체를 포함하는 File 객체를 만들어줍니다. 파일 이름의 경우 뷰로부터 전달받은 파일 이름을 그대로 사용하기 위해 getOriginalFilename() 메서드를 사용합니다. 파일의 경로는 uploadPath 변수를 ..
순서 1. 방향성 2. 날짜 경로를 문자열로 얻기 3. 폴더 생성(File 객체 사용) 4. 테스트 1. 방향성 저는 기본적으로 C:\upload 경로에 이미지 파일을 저장했습니다. C 경로에 upload 폴더를 생성합니다. 더불어 설정한 용량을 초과하는 파일들을 C:\upload 경로에 있는 temp 폴더에 저장되도록 설정하는 코드를 추가했기 때문에 upload 폴더 내에 temp 폴더를 생성했습니다. 업로드될 이미지 파일들을 C:\upload 폴더에 저장시켜도 상관없지만, 매우 많은 파일을 한 곳에 업로드할 경우, 업로드된 이미지를 호출할 때 애플리케이션 내에서 호출한 파일을 찾기 위해 upload 전체를 스캔하게 되는데, 그 과정에서 많은 자원이 소모될 수 있습니다. 이러한 문제점을 보완하기 위해 ..
순서 1. 업로드 UI 추가 - FormData 2. 첨부 파일 서버 전송 3. URL 매핑 메서드 1. 업로드 UI 추가 - FormData 첨부 파일을 서버로 전송하기 위해선 FormData 객체를 사용해야 합니다. FormData는 가상의 태그라고 생각하면 됩니다. 흔히 View에서 서버로 데이터를 전송하기 위해 태그를 사용했습니다. 화면 이동을 하면서 서버로 첨부 파일을 전송하는 것이라면 태그를 사용하면 됩니다. 하지만 상품 등록을 위해 화면의 이동 없이 첨부 파일을 서버로 전송해야 하기 때문에 FormData 객체를 생성하여 첨부 파일을 FormData에 저장하고 FormData 자체를 서버로 전송해야 합니다. 먼저 태그의 change 메서드 구현부에 FormData 객체를 인스턴스화 하여 변수..
순서 1. 업로드 UI 추가 2. 선택한 파일 접근하기(JavaScript) 3. 파일 체크(JavaScript) 1. 업로드 UI 추가 사용자가 이미지를 추가할 수 있는 인터페이스를 추가해줬습니다. 'insertProduct.jsp' 페이지에서 상품 카테고리 선택 부분의 상단에 새로운 항목 공간을 추가해줍니다. 위에서 추가한 태그는 1개의 파일만 추가할 수 있는 형식입니다. 만약 여러 개의 파일을 추가하고 싶다면 'multiple' 속성을 부여해줍니다. 서버를 구동시켜서 '상품 등록' 페이지로 이동을 하면 다음과 같이 출력된 것을 볼 수 있습니다. 2. 선택한 파일 접근하기 사용자가 선택한 파일을 서버에 전송을 하기 위해서 선택된 파일에 접근하는 방법을 알아야 합니다. 먼저 파일 정보가 어떠한 형태로 ..