프로젝트
이미지 파일 업로드 기능 구현 (feat. BLOB, BYTEA), 이틀간 작업 내역
달모드
2024. 11. 20. 23:21
개인 설정의 마지막 피날레, 프로필 사진 업로드 기능이 남았다.
사진 업로드 기능의 경우, 밸런스투표/게시글 작성/챌린지 인증 등 여러 기능에 재사용되기 때문에 재사용 가능한 모듈로 만드느라 좀 고려할 것들이 많았다.
이미지 파일을 업로드하는데, 로컬에 저장하면 그 주소를 string으로 필드에 넣을 수 있지만 그렇게 하고 싶지 않고 바로 DB에 저장하고 싶어서 BLOB 형식으로 지정하느라 모델과 마이그레이션 파일을 다시 수정해야했다.(기존에는 필드 형식이 string으로 되어있었음)
BLOB?
Binary Large Object 의 약자로, 데이터베이스에서
대용량 바이너리 데이터를 저장하기 위한 데이터 타입을 의미
따라서 모델과 마이그레이션 파일은 BLOB으로 해주는것이 맞다.
- 모델
-마이그레이션 파일
그런데 Postgres는 BLOB 형식이 미지원이라 BYTEA로 지정을 해줘야 한다.(직접 수정할경우에는. 난 이렇게 했고..)
자동으로 BLOB > BYTEA로 인식되어 연동된다고 한다.
그리고, 항상 authenticateToken을 넘겨주는걸 잊지말자!
그럼 요청을 보냈을 때
아래와 같이 업데이트가 되면 성공
디비에서도 잘 확인된다.
(누구신지 모르는데 여자아이돌셀카라고 구글에 쳐서 급하게 찾은것)
오늘 작업 내역.
어제는 회원가입/ 로그인 기능을 했고
오늘은 닉네임 및 좌우명 설정, +(닉네임 중복 체크, 닉네임 및 좌우명 글자수 제한), 사진 업로드 모듈(공용), 프로필 사진 업로드 기능을 완료했다.
바이바이바이--- 내일은 챌린지와 신고기능을 다해야하는.. 그저 희망사항.