Node.js实现批量下载图片简单操作示例


Posted in Javascript onJanuary 18, 2020

本文实例讲述了Node.js实现批量下载图片简单操作。分享给大家供大家参考,具体如下:

使用Node.js批量下载图片

首先要获取到图片链接:

const img = [
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218400506629423.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218400540139692.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218400540118251.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218400540069242.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218400681111127.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218400703641344.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218400854321042.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218400847773096.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218400859178000.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218400865596453.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218400902911909.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218400953029599.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218400989455804.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401005976517.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218400968714979.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401035049758.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401049432628.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401077574176.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401130741871.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401189588504.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401178924270.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401236159469.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401233410806.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401271226281.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401296600908.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401331496769.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401294723014.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401355737956.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401375565373.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401430489282.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401429130694.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401443905011.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401494231215.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401470554382.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401544523253.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401585803008.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401632787055.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401681076773.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401666198563.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401687089797.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401796465344.jpg",
  "http://yw-yx.oss-cn-hangzhou.aliyuncs.com/ywwl-jylesson/2019/08/52218401847533545.jpg"
];

批量下载图片:

var fs = require('fs');
var request = require("request");
img.forEach(src => {
  var writeStream = fs.createWriteStream(src.split('/2019/08/')[1]);
  var readStream = request(src)
  readStream.pipe(writeStream);
  readStream.on('end', function() {
    console.log('文件下载成功');
  });
  readStream.on('error', function() {
    console.log(1);
    // console.log("错误信息:" + err)
  })
  writeStream.on("finish", function() {
    console.log("文件写入成功");
    writeStream.end();
  });
});

希望本文所述对大家node.js程序设计有所帮助。

Javascript 相关文章推荐
判断是否输入完毕再激活提交按钮
Jun 26 Javascript
jQuery回调函数的定义及用法实例
Dec 23 Javascript
html5+javascript实现简单上传的注意细节
Apr 18 Javascript
15个非常实用的JavaScript代码片段
Dec 18 Javascript
微信小程序-拍照或选择图片并上传文件
Jan 06 Javascript
vue实现移动端图片裁剪上传功能
Aug 18 Javascript
详解node.js中的npm和webpack配置方法
Jan 21 Javascript
浅谈Postman解决token传参的问题
Mar 31 Javascript
vue组件 keep-alive 和 transition 使用详解
Oct 11 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
Mar 09 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
Mar 13 Javascript
解决vue bus.$emit触发第一次$on监听不到问题
Jul 28 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
Jan 18 #Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
Jan 18 #Javascript
JS数组方法slice()用法实例分析
Jan 18 #Javascript
JS实现横向轮播图(中级版)
Jan 18 #Javascript
vue.js+ElementUI实现进度条提示密码强度效果
Jan 18 #Javascript
JS数组方法concat()用法实例分析
Jan 18 #Javascript
JS实现纵向轮播图(初级版)
Jan 18 #Javascript
You might like
PHP JSON 数据解析代码
2010/05/26 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
2017/08/09 PHP
不能再简单的无闪刷新验证码原理很简单
2007/11/05 Javascript
javascript判断用户浏览器插件安装情况的代码
2011/01/01 Javascript
JavaScript实现页面实时显示当前时间的简单实例
2013/07/20 Javascript
在浏览器中打开或关闭JavaScript的方法
2015/06/03 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
jQuery使用cookie与json简单实现购物车功能
2016/04/15 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
微信小程序实现授权登录
2019/05/15 Javascript
[02:19]2014DOTA2国际邀请赛 专访820少年们一起去追梦吧
2014/07/14 DOTA
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
Python之多线程爬虫抓取网页图片的示例代码
2018/01/10 Python
python3.X 抓取火车票信息【修正版】
2018/06/19 Python
Python之inspect模块实现获取加载模块路径的方法
2018/10/16 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
python匿名函数用法实例分析
2019/08/03 Python
django+echart数据动态显示的例子
2019/08/12 Python
Python超越函数积分运算以及绘图实现代码
2019/11/20 Python
pytorch中的自定义数据处理详解
2020/01/06 Python
Python字符串格式化f-string多种功能实现
2020/05/07 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
《北大荒的秋天》教学反思
2014/04/14 职场文书
一体化教学实施方案
2014/05/10 职场文书
世界红十字日活动总结
2015/02/10 职场文书
微观世界观后感
2015/06/10 职场文书
mysql中整数数据类型tinyint详解
2021/12/06 MySQL