외부 라이브러리 없이 Node.js에서 파일 다운로드
Node.js에서 파일 다운로드는 외부 라이브러리에 의존하지 않고도 기본적으로 수행할 수 있습니다. 방법은 다음과 같습니다.
내장 Fetch API 사용(노드 18)
노드 18은 Fetch API를 구현하는 fetch 전역을 소개합니다. 이 API는 텍스트, JSON, 바이너리 데이터를 포함한 데이터를 다운로드하는 방법을 제공합니다. 예:
const fetch = require('node-fetch'); const url = 'http://example.com/file.jpg'; const response = await fetch(url); const buffer = await response.arrayBuffer(); fs.writeFileSync('filename.jpg', Buffer.from(buffer));
HTTP GET 요청 사용(이전 노드 버전)
Node 18 이전에는 HTTP GET 요청을 생성하고 해당 응답을 다음으로 파이프할 수 있습니다. 파일 스트림:
const http = require('http'); const fs = require('fs'); const file = fs.createWriteStream('file.jpg'); const url = 'http://i3.ytimg.com/vi/J---aiyznGQ/mqdefault.jpg'; const request = http.get(url, (response) => { response.pipe(file); }); // Close file stream after download completes file.on('finish', () => { file.close(); console.log('Download completed'); });
명령줄 구성 옵션
대상 파일이나 URL 지정과 같은 명령줄 옵션이 필요한 경우 사용자 지정을 위해 Commander와 같은 패키지를 활용할 수 있습니다.
const program = require('commander'); program .option('-o, --output <file>', 'Output file name') .option('-u, --url <url>', 'URL to download from') .parse(process.argv); const file = fs.createWriteStream(program.output || 'default.jpg'); const request = http.get(program.url, (response) => { response.pipe(file); });
자세한 정보와 대체 접근 방식은 다음 리소스를 참조하세요: https://sebhastian.com/nodejs-download-file/
위 내용은 외부 라이브러리를 사용하지 않고 Node.js에서 파일을 다운로드하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!