• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

이미지 업로드 하는 과정에서

22.03.05 10:49 작성 조회수 173

1

앞에서 다른분이 이미 질문했던거 같은데 답글이 안달렸던거 같아서 문의 드립니다.

지금 Product의 업로드 과정이 처음에 이미지를 선택해주면, 이 과정에서 이미 서버의 저장공간 (여기선 /uploads)에 저장이 된 후, UploadProduct 컴포넌트의 맨 아래 확인 버튼을 누르면, Back-end상에 state로 저장되있던 정보들로 MongoDB에 새로운 데이터를 추가하는 걸로 이해하고 있는데요.

이미 Dropzone을 이용하여 원하는 사진을 선택하자마자 사진의 업로드는 이루지는 것이기 때문에, 사용자가 사진을 선택한 후에 나머지 form의 양식들을 다 채우지 않고 취소하거나 또는 어떠한 이유로 이 과정에서 오류가 발생한 경우에는 Back-end상에 불필요한 데이터나 남게되는듯 보입니다.

위에 사실이 맞다면, 보통 이러한 경우엔 따로 파일을 삭제하는 코드를 추가를 해주나요? 사용자가 많아질 경우엔 이러한 데이터도 나름 상당해질듯 한데요 따로 해결책이 있나요?

답변 1

답변을 작성해보세요.

0

안녕하세요 

이 부분은 여러가지 방법으로 처리해줄수있는데

const fullFilaName = path.resolve(
process.cwd(),
"public",
"images",
oldImageName
);

fs.unlinkSync(fullFilaName);

백엔드에서 새로운 데이터를 올릴 때 위와 같은 방식으로 현재 있었던 사진을 지워줄 수 있습니다!

감사합니다~