[node.js] 글 수정과 삭제

박우현·2021년 1월 7일
0
post-thumbnail

👌 글 수정과 삭제

node.js에서 글을 수정하고 삭제하는 방법을 알아본다.

✔ 글 수정

  • pathname === '/update':
    기존 파일에서 수정할 수 있도록 fs.readfile을 통해 기존 파일의 titledescription을 불러온다. 수정된 데이터를 전송할때는, 만약 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':
    post 방식으로 전송된 데이터들을 받은 후 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){
      ...

👍 참고 사이트

0개의 댓글