인프런 커뮤니티 질문&답변

이성복님의 프로필 이미지
이성복

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

예제로 구현하는 파일 업로드, 다운로드

이미지 수정방법

작성

·

278

0

item과 itemForm 분리 이유는 아래 링크를 통해 이해하였습니다.

https://www.inflearn.com/questions/246930

 

수업 시간에 이미지 수정에 대해서는 다루지 않았지만 혼자 해보고 싶어서 하는중입니다.

 

[이해하고 있는 플로우]

1. itemForm에 담겨있던 이미지를 통으로 저장하지 않고 item에 이름만 저장한다.

2. item 상세페이지로 리다이렉션을 한다.

3. item 상세페이지에서는 itemId를 사용하여 저장되어 있는 item을 model에 담아 넘겨주고 화면을 구성한다.

 

[질문]

이미지를 수정하려면 UploadFile이 아닌 MultipartFile이 필요하다고 생각합니다.

이미지를 수정할 때는 보통 MultipartFile을 따로 저장하는 작업을 추가하는지 궁금합니다.

 

 

답변 1

1

안녕하세요. 이성복님, 공식 서포터즈 OMG입니다.

이미지 수정도 이미지 등록과 동일하게 화면단에서 수정한 파일 정보를 받아와서 물리적인 파일은 AWS S3, 윈도우의 E드라이브와 같은 저장공간에 저장하면 되며, 이러한 저장공간 (PATH)와 수정한 파일의 이름 등에 대한 정보는 데이터베이스에 저장하면 됩니다.

이미지 수정에서도 이미지 저장과 동일하게

1) 물리적인 파일 자체는 데이터베이스에 저장하지 않는다.

2) 수정하더라도 복구할 수 있도록 이전 파일 자체를 물리적인 공간에서 삭제하지 않는다

 

질문에 대한 답변을 드리면,

이미지를 수정하려면 UploadFile이 아닌 MultipartFile이 필요하다고 생각합니다.

=> 수정이 되더라도 UploadFile 객체를 통해서 파일이름과 저장 경로등이 데이터베이스에 저장되어야 하므로 UploadFile정보가 필요합니다.

이미지를 수정할 때는 보통 MultipartFile을 따로 저장하는 작업을 추가하는지 궁금합니다.

=> 파일 자체도 물리적인 공간에 저장되어야 하므로 파일이 저장되어야 하는게 맞습니다.


감사합니다.

이성복님의 프로필 이미지
이성복

작성한 질문수

질문하기