nodejs
Node.js로 파일을 다루는 애플리케이션을 개발하다 보면, 특정 조건에서 파일을 삭제해야 하는 경우가 많습니다. 예를 들어 업로드된 임시 파일을 삭제하거나, 캐시 파일을 주기적으로 정리하거나, 유저가 직접 삭제 요청을 할 수 있는 기능이 필요할 때입니다.
이럴 때 사용할 수 있는 함수가 바로
const fs = require('fs').promises;
async function deleteFile() {
try {
await fs.unlink('./temp/example.txt');
console.log('파일 삭제 성공');
} catch (err) {
console.error('파일 삭제 중 에러 발생:', err.message);
}
}
deleteFile();
위 예제는
const fs = require('fs').promises;
async function safeDelete(path) {
try {
await fs.unlink(path);
console.log(`${path} 파일 삭제 완료`);
} catch (err) {
if (err.code === 'ENOENT') {
console.warn('삭제할 파일이 존재하지 않습니다.');
} else {
console.error('예상치 못한 삭제 에러:', err.message);
}
}
}
setTimeout(() => {
fs.unlink('./uploads/temp.png')
.then(() => console.log('임시 파일 삭제'))
.catch(err => console.error('삭제 실패:', err));
}, 60000); // 60초 후 삭제
async function handleDeleteRequest(filename) {
const targetPath = `./user-files/${filename}`;
try {
await fs.unlink(targetPath);
return { success: true };
} catch (err) {
return { success: false, error: err.message };
}
}