专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Nodejs下载文件到本地的方法

Nodejs下载文件到本地的方法

更新时间:2022-07-12 09:49:58 来源:赢咖4 浏览7153次

有多种方法可以在 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 = `https://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 = `https://acquirebase.com/img/logo.png`;
// Download the file
(async () => {
    await download(url, './');
})();

download您还可以使用该软件包一次下载多个文件:

const download = require('download');
(async () => {
    await Promise.all([
        `https://acquirebase.com/img/logo.png`,
        `https://acquirebase.com/img/icon.png`
    ].map(url => download(url, './')));
})();

上面的代码将logo.png和icon.png文件都保存到当前目录。如果大家想了解更多相关知识,可以关注一下赢咖4的Java赢咖4在线学习,里面的课程内容从入门到精通,细致全面,很适合没有基础的小伙伴学习,希望对大家能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>