728x90
반응형

개발/Node.js

[Node.js] fs.readFile, fs.readFileSync 사용법과 간단예시 | 파일 읽기

Node.js의 'fs' 모듈을 활용해서 파일 I/O 작업을 구현할 수 있습니다. fs 모듈의 메서드는 동기식일 수도 있고 비동기식일 수도 있습니다. 비동기 함수에는 비동기 함수의 완료를 나타내는 마지막 매개변수로 콜백 함수가 있습니다. readFileSync(동기식), readfile(비동기식)으로 비동기식 메소드가 콜백함수가 존재하는 점을 제외하고는 구현하는 방식은 동일합니다. readFileSync file: 텍스트 파일의 상대 경로를 사용합니다. 경로는 URL 유형일 수 있습니다. 파일은 파일 설명자일 수도 있습니다. 두 파일이 같은 폴더에 있는 경우 파일 이름을 따옴표로 묶습니다. options: 인코딩 및 플래그를 포함하는 선택적 매개변수이며 인코딩에는 데이터 사양이 포함됩니다. 기본값은 원시..

2021.11.17 게시됨

개발/Node.js

[Node.js] Buffer to String 처리방법과 간단예시 | readFileSync encoding

Node.js에서 example.txt 파일을 읽어서 불러오는 방법은 아래와 같습니다. 일반적으로 파일시스템 readFileSync 메소드를 통해 파일을 읽어오면 바이너리 데이터로 받아오게 되는데 Buffer 객체로 나오는 이유가 Binary 데이터를 담을 수 있는 객체가 바로 Buffer 객체이기 때문입니다. const fs = require('fs'); const data = fs.readFileSync('example.txt') console.log(data); // 그렇기 때문에 파일을 읽어올 때 인코딩 타입을 utf-8로 설정하거나, Buffer 객체를 받아온 후 toString 메소드를 활용해 utf-8로 변환해야합니다. Buffer to String 단일 버퍼가 있는 경우 특정 인코딩을 사용..

2021.11.17 게시됨

개발/Node.js

[Node.js] 폴더 안에 모든 파일 삭제하는 방법 (How to remove all files from directory)

Node.js를 활용할 때 종종 폴더 안에 모든 파일들을 한번에 삭제하고 싶은 경우가 생깁니다. 이때 굉장히 간편하게 활용할 수 있는 노드 라이브러리가 존재합니다. fs-extra 폴더 안에 모든 파일을 쉽게 삭제하기 위해 fs-extra 라이브러리를 활용합니다. fs-extra fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove. www.npmjs.com 사용법 emptydirSync 메소드를 사용합니다. emptydirSync는 디렉토리가 비어 있는지 확인합니다. 디렉토리가 비어 있지 않으면 디렉토리 내용을 삭제합니다. 디렉토리가 없..

2021.11.12 게시됨

개발/Node.js

[Node.js] fs.writeFile, fs.writeFileSync 사용법과 간단예시 | 파일 저장

Node.js의 'fs' 모듈을 활용해서 파일 I/O 작업을 구현할 수 있습니다. fs 모듈의 메서드는 동기식일 수도 있고 비동기식일 수도 있습니다. 비동기 함수에는 비동기 함수의 완료를 나타내는 마지막 매개변수로 콜백 함수가 있습니다. writeFileSync(동기식), writeFile(비동기식)으로 비동기식 메소드가 콜백함수가 존재하는 점을 제외하고는 구현하는 방식은 동일합니다. writeFileSync file: 저장할 파일의 경로, 파일명, 확장자명을 기입합니다. data: 파일에 기록될 데이터 양식 options: 3개의 선택적 매개변수가 있습니다. encoding: 파일의 인코딩을 지정하는 문자열 값입니다. 기본값은 'utf8'입니다. mode: 파일 모드를 지정하는 정수 값입니다. 기본값은..

2021.11.12 게시됨

개발/Node.js

Node.js 티스토리 파일 업로드 API 구현하는 방법(multipart/form-data 이놈..)

Node.js를 활용해서 티스토리 파일 첨부 API를 사용한 경험에 대해서 공유하고자 합니다. 필자는 Node.js + Puppeteer를 활용해서 티스토리 파일 첨부 API를 구현하려고 했으나 몇 가지 시행착오가 발생했고, 많은 삽질을 통해 이 문제를 해결하여 글로 남겨둡니다. Node.js로 티스토리 파일 첨부 API를 사용하기 위해서 우선 필자의 경우는 동적으로 이미지를 만들고, 동적으로 만든 이미지를 임시 파일 저장소에 임의의 파일 이름으로 경로를 지정하고 생성한 후, 해당 파일을 티스토리 파일 첨부 API를 활용해 업로드를 합니다. 동적 파일 생성 Node.js fs createWriteStream 메서드를 활용해서 필자는 업로드 하고자하는 이미지를 만든 후 임시 파일 저장소에 파일을 저장합니다..

2021.01.05 게시됨

개발/Node.js

Node.js에서 캔버스(Canvas)로 이미지 만들고 저장하는 방법

Node.js에서 캔버스를 사용해서 이미지로 저장하는 방법은 canvas 라이브러리를 사용하면 간단히 구현할 수 있습니다. Canvas 라이브러리 설치 npm install canvas // or yarn add canvas 사용방법 아래 예시는 이름과 디스크립션 그리고 아이콘을 적절하게 배치하여 캔버스 이미지를 만들고 jpg로 이미지를 추출해주는 예시입니다. 전체 코드 구현 예시 const generateETFThumbnail = (etfName) => { return new Promise(async (resolve) => { const tmpdir = os.tmpdir(); const filename = `${uuidv4()}.png`; const filepath = path.join(tmpdir, ..

2021.01.04 게시됨

개발/Node.js

Node.js에서 EUC-KR 한글 깨짐 해결방법

Node.js에서 문자코드를 변경해 주는 모듈은 iconv와 iconv-lite이 있습니다. iconv가 다양한 문자코드를 지원한다면 iconv-lite은 가볍고 간소화된 문자코드를 지원하고 있습니다. 설치방법 const iconv = require("iconv-lite"); iconv-lite Convert character encodings in pure javascript. www.npmjs.com 사용방법 const { data } = await axios({ url, method: "GET" });​ const { data } = await axios({ url, method: "GET", responseType: "arraybuffer" // 추가 });​ const contents = ico..

2020.02.26 게시됨

728x90
반응형