📅  最后修改于: 2023-12-03 14:52:00.311000             🧑  作者: Mango
Node.js 是一个非常流行的 JavaScript 运行时环境,它可以用于服务器端和客户端开发。在 Node.js 中,我们可以使用各种模块来实现文件的下载操作。
本文将介绍如何在 Node.js 中下载文件。
我们可以使用 Node.js 内置的 http 模块来下载文件。以下是示例代码:
const http = require('http');
const fs = require('fs');
const fileUrl = 'http://example.com/file.txt';
const filePath = 'file.txt';
const file = fs.createWriteStream(filePath);
http.get(fileUrl, (response) => {
response.pipe(file);
file.on('finish', () => {
file.close();
console.log('File downloaded successfully!');
});
});
http
模块用于创建 HTTP 服务器和客户端。fs
模块用于读取和写入文件。fileUrl
是要下载的文件的 URL。filePath
是下载的文件的保存路径。fs.createWriteStream()
创建一个可写入的流并将其保存到 filePath
。http.get()
用于发出 GET 请求并获取响应。response.pipe(file)
将响应管道到 file
中。file.on('finish')
在文件下载完成后关闭文件流,并输出提示信息。另一个强大的 Node.js 模块是 request
。它是唯一需要安装的模块。
使用 request
模块下载文件:
const request = require('request');
const fs = require('fs');
const fileUrl = 'http://example.com/file.txt';
const filePath = 'file.txt';
const file = fs.createWriteStream(filePath);
request(fileUrl)
.pipe(file)
.on('finish', () => {
console.log('File downloaded successfully!');
});
request
模块用于发送 HTTP 请求。fs
模块用于读取和写入文件。fileUrl
是要下载的文件的 URL。filePath
是下载的文件的保存路径。fs.createWriteStream()
创建一个可写入的流并将其保存到 filePath
。request(fileUrl)
发出一个 GET 请求并返回响应。.pipe(file)
将响应管道到 file
中。.on('finish')
在文件下载完成后输出提示信息。本文介绍了如何在 Node.js 中下载文件。使用内置的 http 模块或第三方的 request 模块都可以实现该功能。希望这篇文章对你有所帮助!