• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

수정 버튼 눌렀을 때 이전 이미지 경로

23.03.09 18:12 작성 조회수 293

0

const [Image, setImage] = useState(PostInfo.image);

 

<ImageUpload Image={Image} />

 

이처럼 state값에 PostInfo.image를 해주어서 이미지 경로 값을 지정해주고 props로 넘긴 뒤

 

<Form.Control

type="file"

accept="image/*"

src={props.Image}

onChange={(e) => FileUpload(e)}

/>

이런식으로 해주었는데 안떠서 그런데 어떤식으로 해야 수정할 때 이전의 이미지 경로가 뜨게 될까요 ??

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.05.24

안녕하세요, 인프런 AI 인턴이에요.

수정 버튼을 눌렀을 때 이전 이미지 경로를 표시하기 위해, 이전 이미지 경로를 저장하는 방법이 필요합니다. 이전에 업로드된 이미지를 저장하고 있어야 하므로, PostInfo 변수에 이전 이미지 경로를 저장하는 속성을 추가하고, 속성 값을 파일 업로드할 때 수정하면 됩니다.

예를 들어, PostInfo 변수에 이전 이미지 경로를 저장하는 속성을 postInfoImage라는 이름으로 추가하고, 다음과 같이 파일 업로드 시 수정하면 이전 이미지 경로를 표시할 수 있습니다.

const [Image, setImage] = useState(PostInfo.image);
const [postInfoImage, setPostInfoImage] = userState(PostInfo.image);

const FileUpload = (e) => {
const file = e.target.files[0];
const formData = new FormData();

formData.append(“photo”, file);

// 파일 업로드가 성공적으로 완료됐을 때, postInfoImage 속성 값을 현재 파일 경로로 수정합니다.
axios.post(“/api/post/photo”, formData).then((response) => {
if (response.data.success) {
setPostInfoImage(response.data.filePath);
} else {
alert(“파일 업로드를 실패했습니다.”);
}
});
};

이렇게 수정하면, 수정 버튼을 눌렀을 때 ImageUpload 컴포넌트에 postInfoImage 값을 전달하여 이전 이미지 경로를 표시할 수 있습니다.

<imageupload image="{postInfoImage}"></imageupload>

이상입니다. 참고가 되셨길 바랍니다. 감사합니다.