-
[Developer] [node.js] 9. 글 수정하기 기능 만들기 3) 수정된 내용 저장하기Data miner/Developer 2020. 1. 28. 17:22728x90
출처; 생활코딩의 Node.js의 강의 내용 / 이고잉 강사님 감사드립니다 (꾸벅)
본 글은 이전 포스팅과 관련된 내용입니다.
https://pongdangstory.tistory.com/460이전 포스팅에서 글 수정하기 기능 중에서 1) 수정하고자 하는 내용의 링크를 생성하고, 2) 유저가 기존 내용을 바탕으로 적절하게 컨텐츠를 수정하여, update한 내용을 전송하는 것을 배웠다. 이번 포스팅에서는 수정한 내용을 수정하고자 하는 페이지에 저장하는 방식에 대해서 다루고자 한다.
즉, 이전 포스팅에서는 'billgates'에 대한 정보를 수정하는 과제에서, billgates페이지의 update버튼을 눌렀을 때, 수정하고자 하는 billgatees의 컨텐츠의 주소값을 생성했다. 그 내용을 적절히 수정하여, update_process라는 임의의 주소값으로 전송하는 것까지 다뤘다.
먼저 이와 관련된 코드부터 보자.
else if(pathname === '/update_process'){ var body = ''; request.on('data', function(data){ body = body + data; }); request.on('end', function(){ var post = qs.parse(body); var id = post.id; var title = post.title; var description = post.description; fs.rename(`data/${id}`, `data/${title}`, function(error){ fs.writeFile(`data/${title}`, description, 'utf8', function(err){ response.writeHead(302, {Location: `/?id=${title}`}); response.end(); }) }); });
update_process의 링크를 통해서 전달되는 data를 post에 담는다. 이 post에는 크게 post.id, post.title, post.description 정보가 담긴다. 이제 우리가 해야할 일은 다음과 같다. 1) 수정된 title 정보는 이후에 data의 filename값으로 쓰인다. 따라서 수정 이후의 정보를 활용하여 filename의 정보를 수정한다. (=> 이와 관련된 검색 키워드는 node.js file rename) 2) 이후에는 filename인 title정보 뿐만이 아니라 그것의 내용도 수정해야 한다. post의 description이 본문에 해당하고 이것이 description의 변수에 담겼다. 이 description정보를 통해서 본문의 내용을 고친다. (fs.writeFile과 관련한 내용이다) (왜, fs. rename의 콜백함수에 담기는지는 의문이다.)
'Data miner > Developer' 카테고리의 다른 글
[AI service api] 네이버의 AI 기술 서비스 API 신청하여 사용해보기 (0) 2020.01.29 [Developer] [node.js] 10. 입력 정보에 대한 보안 (0) 2020.01.29 [Developer] [node.js] 8. 글 수정하기 기능 만들기 1) 링크생성 2) 전송 (0) 2020.01.20 [Developer] [node.js] 7. post방식으로 전송한 데이터를 node.js로 가져오기 (0) 2020.01.08 [Developer] [node.js] 6. <form ...> </form> (0) 2020.01.08