WIL : Trouble Shooting (feat form data)

Adam Sung Min Park·2022년 11월 20일
0

오늘은 S3 에 업로드 되어있는 이미지 수정 기능을 구현해보았다.

처음엔 가볍게 생각했던 수정 작업이였지만, 생각치 못한 부분이 있음을 깨닫고 어려움에 봉착하게 되는데,

문제는 다음과 같다:

  1. 서버에서는 Multipartfile을 s3 에 업로드 후 받은 url 을 front 에 돌려준다.
  2. 이걸 갖고 있는 front 는 수정 페이지에 뿌려 주게 되고,
  3. 이 경우에서 수정을 할경우, 이미지는 String 타입의 url 이지 Multipartfile이 아니다.
  4. 고로, 이 상태로 server 에 form data를 써서 보내줄 경우 받아오지를 못한다.

Url 도 보존하면서 새로운 사진이 왓을경우 새로 업로드를 해줘야하는 상황이다.

결국 고안해낸 방법은,

  1. 수정이 완료된 request 라면 해당 board의 사진을 모두 지운다.
  2. 그 후 request 로 받아온 url + multipartfile을 모두 저장한다.

어짜피 entity 에서 저장하는 형태는 url 형식이기에, url 은 바로 저장을 해주었고,

form data 는 다시 업로드 해주는 형태로 수정을 했다.

우선 컨트롤러에서 데이터를 받는게 가장 중요했다고 생각한다. 그 이후의 가공은 당연한 부분이기에.

Url 들은 따로 url 이라는 key 값으로 받아 와 줬다.

이 때문에 DTO 를 추가로 만들었는데,

사실 이 부분은 refactor할 부분이 많다.

문제 점을 인지한 순간 못푸는 문제는 없다고 생각한다, 어떻게가 중요하지 않을까.

0개의 댓글