node.js에서 글을 수정하고 삭제하는 방법을 알아본다.
pathname === '/update'
:fs.readfile
을 통해 기존 파일의 title
과 description
을 불러온다. 수정된 데이터를 전송할때는, 만약 title
값이 수정될 경우를 대비해서, fileName
또한 type='hidden'
으로 전송해준다...
<form action="/update_process" method="post" enctype="multipart/form-data">
<input type="hidden" name="fileName" value="${title}">
...
pathname === '/update_process'
:enctype='multipart/form-data'
를 사용하므로 formidable을 사용하여 전송된 값을 받아주었다. 전송된 값을 바탕으로 fs.rename(oldpath, newpath)
와 fs.writeFile(path, description, callback)
을 이용해서 기존 파일을 재설정하고 파일을 새롭게 만들어 주었다.let form = new formidable.IncomingForm();
form.parse(request, function(err, fields, files){
let fileName = fields.fileName;
let folder = fields.folder;
...
fs.rename(oldpath, newpath, function(err){
fs.writeFile(newpath, description, 'utf8', function(err){
fs.rename(oldpathImg, newpathImg, function(err){
...
pathname === '/delete_process'
:fs.unlink(path, callback)
를 이용해서 파일을 삭제해 주었다....
request.on('data', function(data){
body = body + data;
})
request.on('end', function(){
let post = qs.parse(body);
let title = post.title;
...
fs.unlink(`./tab/${folder}/data/${title}`, function(error){
fs.unlink(`./tab/${folder}/img/${title}.png`, function(error){
...