Nodejs下载文件到本地的方法 - 极悦
首页 课程 师资 教程 报名

Nodejs下载文件到本地的方法

  • 2022-07-12 09:49:58
  • 7829次 极悦

有多种方法可以在 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大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交