개발자

리액트 스프링 이미지

2022년 11월 28일조회 352

현재 프로젝트에서 프론트에서 이미지를 업로드해서 폼데이터로 변환후 스프링으로 넘겨주고 스프링에서 데이터베이스에 저장후 프론트에서 요청시 다시 넘겨줘야하는데 프론트에서 요청시 스프링에서 스트링형식으로 넘겨줘서 바로 img태그에 src에 넣으면 되는지 아니면 다시 폼데이터형식으로 넘겨줘서 프론트에서 가공을 해줘야 하는것인지 정확한 방법을 모르겠습니다 ㅜ

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

프레드윰님의 프로필 사진

우선 폼데이터 형식으로 변환하는건 글 쓰기나 수정 할때 만 사용하죠

이양일님의 프로필 사진

안녕하세요! 제가 react 를 잘 알지는 못합니다만, Spring 서버 관점에서 제가 진행했던 프로젝트 경험을 토대로 말씀드리겠습니다. client(react) 에서 Spring 으로 이미지를 업로드 해주시면 Spring 에서는 업로드된 이미지를 Storage(여기서 Storage 는 Spring Server 의 File System 이 될수도 있고 NAS 나 Amazon S3 와 같은 외부 Storage 일수도 있겠죠) 에 저장하고 저장된 경로와 필요시 이미지의 metadata 등을 DB 에 저장하도록 구현할 것입니다. (이미지 데이터를 db 에 그대로 저장하는것도 불가능한것은 아니나 추천드리진 않습니다.) 이미지 저장이 완료되었으면 이 이미지를 다운로드 받을 수 있어야 화면에 노출이 가능할테니 Spring 에서는 Storage 에 저장된 이미지를 다운로드 받을 수 있는 API 를 제공해줘야합니다. 이미지 다운로드 API 가 어떻게 구현이 되느냐에 따라 client(react) 에서 어느정도 가공이 필요할수도, 혹은 그대로 사용이 가능할수도 있습니다. 정확한 스펙을 말씀해 주시질 않았기 때문에 게시판 게시글에 이미지를 업로드한다고 가정하고 예를 들어 보겠습니다. 이미지 다운로드 API 를 이미지를 업로드한 게시글ID 만 주면 다운로드 가능하게 구현이 되어있다면 "/downloadImg?id={게시글ID}" 형태로만 img 태그에 src 를 넣으면 되겠죠. 하지만 서버에서 저장한 Storage 경로나 DB 에 저장한 metadata 등으로 다운로드가 가능하게 구현이 되어있다면, 이 정보를 조회한 뒤에 조합해서 img 태그에 src 를 넣어야겠죠. 어느것이 정답이라고 할 순 없고 구현하시려는 기능의 스펙에 따라 효율적인 방법으로 선택하시면 되겠습니다. 부디 제 짧은 식견이 도움이 되셨길 바랍니다.

profile picture

익명

작성자

2022년 12월 02일

감사합니다 한번 해보겠습니다!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!