有多种方法可以在 Node.js 中下载文件并将其保存到本地文件系统。您可以使用内置Node.js模块,例如fsandhttps或 3rd 方开源库。
Node.js 提供了可用于从外部 URL 下载文件并将其保存到本地文件系统的模块fs。https该文件可以是任何东西:PDF 文件、图像或简单的文本文件。
该fs模块允许您访问文件系统以在 Node.js中读取和写入文件。
同样,该https模块允许您在 Node.js 中创建 HTTPS,而无需使用任何 3rd-party 客户端。
这是从我的一个网站下载 PNG 图像的示例:
const fs = require('fs');
const https = require('https');
// File URL
const url = `http://acquirebase.com/img/logo.png`;
// Download the file
https.get(url, (res) => {
// Open file in local filesystem
const file = fs.createWriteStream(`logo.png`);
// Write data into local file
res.pipe(file);
// Close the file
file.on('finish', () => {
file.close();
console.log(`File downloaded!`);
});
}).on("error", (err) => {
console.log("Error: ", err.message);
});
如果您不喜欢低级 Node.js 模块,也可以使用 NPM 注册表中的下载包。
要安装download软件包,请运行以下命令:
$ npm install download --save
该download软件包允许您从 URL 下载文件并将其保存在文件夹下,如下所示:
const download = require('download');
// File URL
const url = `http://acquirebase.com/img/logo.png`;
// Download the file
(async () => {
await download(url, './');
})();
download您还可以使用该软件包一次下载多个文件:
const download = require('download');
(async () => {
await Promise.all([
`http://acquirebase.com/img/logo.png`,
`http://acquirebase.com/img/icon.png`
].map(url => download(url, './')));
})();
上面的代码将logo.png和icon.png文件都保存到当前目录。如果大家想了解更多相关知识,可以关注一下极悦的Java极悦在线学习,里面的课程内容从入门到精通,细致全面,很适合没有基础的小伙伴学习,希望对大家能够有所帮助。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习