2020. 12. 23. 22:06ㆍ프로젝트/Salle(살래) 중고거래 웹
드디어 IMG 파일 로컬폴더 저장 & 파일정보 DB 저장을 끝으로 상품 판매하기 페이지 1차 구현을 완성시켰다. 내일 5개 이미지까지 등록해주는 서브 기능까지 마치면 100% 1차 구현이 끝난다 :)
요약
-
TODO: IMG 파일 로컬폴더에 저장하고 파일정보는 DB에 저장하기
TIL
-
Java
-
FileSystemView: File 타입으로 반환해주는 메서드를 가진 API
-
Spring
-
MultipartFile: HTTP가 파일 컨텐츠와 메타정보를 묶어 보내기 위해 기능을 해주는 API. getOriginalFilename() - 사용자가 업로드한 파일명을 반환해준다.
-
@Bean: @Component 밑으로 @Controller, @Service, @Repository 이 상속받아진다.
-
@Component: @Autowired가 작동할 수 있도록 Bean 객체를 등록해주는 역할을 한다.
-
HTML
-
<input type=hidden...>: 사용자가 봐선 안될 데이터나 토큰을 전달할 때 사용하는 type이다.
진행사항
-
IMG 파일을 어떻게 로컬폴더에 저장할 것인지?
-
HTTP multipart는 파일 컨텐츠와 메타 정보를 동시에 묶어서 보낼 수 있도록 해준다.
-
-
IMG 파일 등록하기 (참고링크)
-
IMG 파일 업로드 하는 spring boot HTTP multipart 개념 (참고링크)
-
MultipartFile API의 transferto() - (경로로 파일을 전달해준다.) 로 저장한다.
-
IMG 파일이 2개 이상일 땐 어떻게 저장할 것인지?
-
<input file> multiple로 설정하고 Controller에선 List에 MultipartFile 담아서 작동해봐야겠다.
-
List<MultipartFile>로 설정 → list.size() 만큼 반복문 돌면서 filename 생성하고 filetransferto저장해준다. → ProductVo의 img_file_1,2,3은 어떻게 저장해줄 것인지? → Javascript의 filereader로 파일저장까지 가능한 것 같다. 방법찾기.
-
IMG 파일정보는 어떻게 받아서 DB 어디에 저장해줄 것인지?
-
MultipartFile API의 getOriginalFilename() - (사용자가 업로드한 파일명을 반환해줌)으로 originalfile 컬럼을 추가해 저장해준다.
-
-
filesOriginName? Product 테이블에 저장해줄 것이고 컬럼은 추가해줘야됨
-
filename(DB에 저장하기 위해 만든 파일명), fileoriginname(업로드할 때 파일명)
-
파일정보를 받는 법은? (참고링크)
이슈
-
Controller에 @Autowired 주입된 객체가 Bean not found 오류발생
-
spring boot가 클래스를 인식하기 위해선 @Component로 표시해줘야 Bean 등록된다.
-
pr_price(INT) 정규식표현으로 천단위 콤마가 들어가졌는데 String으로 인식한다.
-
천단위 콤마 넣기 전의 값을 INT로 변환해 DB에 추가한다.
'프로젝트 > Salle(살래) 중고거래 웹' 카테고리의 다른 글
4. 판매하기 페이지 (6) - IMG 단일파일 여러 장 업로드 성공 (0) | 2020.12.30 |
---|---|
[Salle] 중간점검 - 프로젝트 기한 세우기 (0) | 2020.12.28 |
[Salle] 4. 판매하기 페이지 (4) - img파일 DB 저장 (0) | 2020.12.22 |
[Salle] 4. 판매하기 페이지 (3) - DB 연동(Junit) (0) | 2020.12.22 |
[Salle] 4. 판매하기 페이지 (3) 이미지 첨부파일 여러개 업로드 (0) | 2020.12.18 |