Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- ECMAScript
- form
- TypeScript
- Session
- heroku
- NextJs
- frontend
- javscript
- react
- HTML
- Mongoose
- nodejs
- 리액트
- pug
- clonecoding
- API
- backend
- ES6
- Component
- GRID
- CLONE
- Flutter
- express
- node.js
- DART
- CSS
- 자바스크립트
- JavaScript
- graphQL
- MongoDB
Archives
- Today
- Total
Enjoy Programming
Node.js - 저장된 파일 삭제 본문
음.. 유튭 클론코딩을 진행하면서 한가지 자꾸 거슬리는 부분이 있는데
multer를 통해 비디오를 db로 업로드 하면 지정한 path에 변환된 fileUrl이 저장되어있다.
문제는 delete키를 눌러 파일을 db에서 삭제를 해도 내 컴퓨터의 path에는 그대로 fileUrl이 저장 되어 있고
삭제가 되지 않았다.
그냥 지우고 싶었다.. ㅎㅎㅎ
그래서 이것 저것 해보던 중 Node.js에서 파일 삭제를 할때 fs모듈(파일시스템)을 이용해 삭제하는 것을 생각했고
deleteVideo 컨트롤러에서 삭제를 진행했다.
우선 fs모듈을 설치: npm install fs
그리고 videoController에 fs를 임포트 해주고 : const fs = require("fs");
삭제 컨트롤러에서 filePath를 얻은뒤 object 타입인 filePath에서 fileUrl을 가져와서 fs.unlink로 삭제 시켜줬다.
이렇게 보니 너무 쉬운데..
헤맨 이유는.. fileUrl을 가져와야 하는데.. 자꾸 query가 출력되는 것이다..
생각해보니 filePath 변수에 담아줄때 await을 안써서 찾기도 전에 아래 트라이 구문이 실행 되어버리고
fs.unlink는 경로를 찾을 수 없다고 떠버린 것이다..
잘배웠다 await의 중요성을.. ㅎㅎ 그래도 혼자 해서 뿌듯하다.. 삭제 잘된다.
'JavaScript > Node.JS' 카테고리의 다른 글
Express - edit User Profile (0) | 2021.05.15 |
---|---|
Express - passport kakaotalk (0) | 2021.05.14 |
Express - faebook Log In (0) | 2021.05.13 |
Express - User profile (0) | 2021.05.13 |
passport authentication 정리 (0) | 2021.05.13 |