inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]

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

297

Jaewoong Kang

작성한 질문수 8

1

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

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

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

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

uploads폴더 웹앱 fileupload UploadProductPage mongodb nodejs react redux

답변 1

0

John Ahn

안녕하세요 

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

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

fs.unlinkSync(fullFilaName);

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

0

Jaewoong Kang

감사합니다~

강의 내용은 훌륭하나, 환경 설정 오류 때문에 진도를 나갈 수 없습니다. 20년 버전 강의.

0

74

1

강의자료는 어디서 볼 수있나요??

0

82

1

이 쇼핑몰 만들기 강의는 관리자페이지 만드는건 없나요

0

136

2

웹에서 실시간 코드반영이 안돼요

0

137

1

app.use질문

0

74

1

강사님께 어떻게 직접질문할수있어요??

0

84

1

const함수같은거 기초강의는 어디있나요

0

97

2

리덕스 참조챕터가 어딨어요? 미리듣고오라는데요

0

88

2

강의가완전 오래되서 다 틀리네 app.jsx도 tailwind css 다틀림 무책임함

0

75

1

개발자도구에 redux란이 없어요

0

95

1

npx tailwindcss init -p 에서 계속 에러나요

0

99

1

쇼핑몰기능중 찜하기 기능은 어떻게 구현하나요

0

151

2

강의하다 줌으로 설명가능한지좀 정확히 알려주세요. 이 선생님 정책이 어떻게 되는데요. 직접 연락할 메일이라도 알려주세요

0

47

1

도표 강의 자료 열람 불가능

0

116

1

tailwindcss를 vite에서 이용하는 방식이 바뀐것 같습니다.

0

1148

2

eslint 설정 후 오류가 납니다.

0

230

1

오버로드 오류

0

159

1

VSCode에서 save를 할 때, landingpage의 useEffect가 실행되는 문제에 대하여

0

179

1

dispatch(logoutUser()) 실행시 dispatch(authuser())도 함께 실행되는 문제

0

237

2

logout할 때, server로 요청을 보내서 authUser middleware를 통과하도록 하는 이유?

0

200

1

webkit-text-size-adjust 오류

0

323

1

does not provide an export named 'userReducer'

0

222

2

빌드 배포

0

143

1

삭제 예정 강의는 언제 삭제 되나요? 저것때문에 수강완료를 못하면 회사에서 비용을 청구한다고 합니다~

0

232

2