我的编程空间,编程开发者的网络收藏夹
学习永远不晚

node+axios实现下载外网文件到本地

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

node+axios实现下载外网文件到本地

引言

作为一个web前端开发,对axios肯定不陌生,但是在前端开发中,一般是使用axios来请求后端接口,获取数据。而使用node+axios下载网络文件到本地磁盘可能很少接触,搜索了很多相关的博客文章,讲解的好像都不够清晰明了,所以本文就记录一下实践方法。

初始化项目

npm init -y

安装axios

 npm i -S axios

实现逻辑

根目录下新建app.js

// app.js
const axios = require('axios');
const fs = require('fs');

async function loadImg(imgUrl) {
  let { data } = await axios({
    url: imgUrl,
    headers: {
      'Content-Type': 'multipart/form-data',
    },
    responseType: 'arraybuffer',
  })
  await fs.promises.writeFile(`./01.jpg`, data, 'binary');
}

;(async function () {
  let url = '/file/upload/202211/13/lx5ul2bu0w2.jpg'
  console.time('download time:')
  try {
    await loadImg(url)
    console.log('下载成功')
  } catch (err) {
    console.log(err)
  }
  console.log('')
  console.timeEnd('download time:')
})();

说明:

axios 的参数 headers 中 Content-Type默认是application/json,需要设置为 multipart/form-data

responseType默认是json,需要设置为arraybuffer(二进制格式);

writeFile方法的第三个参数encoding默认是utf8,必须设置为binary(二进制格式),如果不设置,下载的文件打不开。

console.timeconsole.timeEnd是node中提供的计时方法。

执行

node app.js

输出

下载成功
download time:107.866ms

如果想要批量爬取某个网站的图片或其他文件,可以使用node爬虫工具cheerio来实现。

参考文档

http://nodejs.cn/api/fs.html#fs_fs_writefile_file_data_options_callback

http://www.axios-js.com/docs/#Request-Config

以上就是node+axios实现下载外网文件到本地的详细内容,更多关于node axios下载外网文件到本地的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

node+axios实现下载外网文件到本地

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python从下载链接下载文件到本地

requests#引用 requests文件import requests#下载地址Download_addres='https://nj02cm01.baidupcs.com/file/da941ce26b392a4ea0b010b6e0
2023-01-31

hadoop怎么下载文件到本地

可以使用以下命令将Hadoop集群中的文件下载到本地:hadoop fs -get 例如,如果要将Hadoop集群中的/user/hadoop/input.txt文件下载到本地的/home/user/
hadoop怎么下载文件到本地
2024-03-02

使用Java实现远程文件下载到本地目录

使用Java实现远程文件下载到本地目录 文章目录 使用Java实现远程文件下载到本地目录前言一、正文介绍二、测试介绍总结 前言 今天开发时遇见了一个下载附件的需求,他的附件是存在一个网盘里查询时只是给我返回了一个https的路
2023-08-17

java怎么实现远程文件下载到本地目录

要实现远程文件下载到本地目录,可以使用Java的网络编程和IO流操作。以下是一个简单的示例代码:```javaimport java.io.FileOutputStream;import java.io.IOException;import
2023-09-05

php怎么下载大文件到本地

要下载大文件到本地,可以使用PHP的`file_get_contents()`函数结合`file_put_contents()`函数来完成。首先,使用`file_get_contents()`函数从远程服务器获取大文件的内容,然后使用`fi
php怎么下载大文件到本地
2023-10-30

如何下载文件到本地运行的vbs

本篇内容介绍了“如何下载文件到本地运行的vbs”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下:on error resume nex
2023-06-09

java如何下载服务器文件到本地

您可以使用Java的java.net.URL类和java.io.FileOutputStream类来下载服务器文件到本地。以下是一个简单的示例代码:import java.io.FileOutputStream;import java.
java如何下载服务器文件到本地
2024-04-09

java中怎么下载文件流保存到本地

在Java中,可以使用`InputStream`和`OutputStream`来下载文件流并保存到本地。下面的代码演示了如何使用`URL`和`URLConnection`来获取文件流,并使用`FileOutputStream`将其保存到本地
2023-09-05

vue中如何下载文件导出保存到本地

这篇文章主要介绍了vue中如何下载文件导出保存到本地,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

android下载文件保存到本地的方法是什么

在Android中,可以使用以下代码将文件下载并保存到本地:1. 首先,需要在AndroidManifest.xml文件中添加以下权限:```xml```2. 然后,在代码中使用以下方法下载文件并保存到本地:```javaprivate v
2023-05-30

Linux文件同步到本地怎么实现

要将Linux系统中的文件同步到本地,可以通过以下几种方式实现:使用rsync命令:rsync命令是一种高效的文件同步工具,可以在本地和远程系统之间同步文件和目录。使用rsync命令可以方便地将Linux系统中的文件同步到本地。例如,要将远
2023-10-27

java如何实现保存文件到本地

具体实现过程请看如下实例:(推荐学习:java视频教程)private void savePic(InputStream inputStream, String fileName) { OutputStream os = null; try {
java如何实现保存文件到本地
2016-12-16

编程热搜

目录