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 相关文章推荐
JQuery获取文本框中字符长度的代码
Sep 29 Javascript
javascript 实现字符串反转的三种方法
Nov 23 Javascript
jQuery通过扩展实现抖动效果的方法
Mar 11 Javascript
超漂亮的jQuery图片轮播特效
Nov 24 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
May 17 Javascript
详解javascript表单的Ajax提交插件的使用
Dec 29 Javascript
详解JS: reduce方法实现 webpack多文件入口
Feb 14 Javascript
让网站自动生成章节目录索引的多个js代码
Jan 07 Javascript
web前端vue filter 过滤器
Jan 12 Javascript
angularjs结合html5实现拖拽功能
Jun 25 Javascript
JS实现点击拉拽轮播图pc端移动端适配
Sep 05 Javascript
angular6 填坑之sdk的方法
Dec 27 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中COOKIES使用示例
2015/07/26 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
微信企业转账之入口类分装php代码
2018/10/01 PHP
js类的静态属性和实例属性的理解
2009/10/01 Javascript
JavaScript 组件之旅(一)分析和设计
2009/10/28 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
固定背景实现的背景滚动特效示例分享
2013/05/19 Javascript
jQuery实现将页面上HTML标签换成另外标签的方法
2015/06/09 Javascript
Bootstrap popover用法详解
2016/12/22 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
JavaScript学习笔记之函数记忆
2017/09/06 Javascript
深入理解Vuex 模块化(module)
2017/09/26 Javascript
vue组件name的作用小结
2018/05/23 Javascript
js实现敏感词过滤算法及实现逻辑
2018/07/24 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
vue实现下拉加载其实没那么复杂
2019/08/13 Javascript
Vue实现背景更换颜色操作
2020/07/17 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
python批量提取word内信息
2015/08/09 Python
python查看列的唯一值方法
2018/07/17 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
python实现局域网内实时通信代码
2019/12/22 Python
Python实现结构体代码实例
2020/02/10 Python
C语言笔试集
2012/07/24 面试题
军训心得体会
2013/12/31 职场文书
护士长竞聘书
2014/03/31 职场文书
建筑施工安全责任书
2014/07/24 职场文书
火锅店的活动方案
2014/08/15 职场文书
党员反对四风问题思想汇报
2014/09/12 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
2015年财务人员个人工作总结
2015/07/27 职场文书
go xorm框架的使用
2021/05/22 Golang
maven依赖的version声明控制方式
2022/01/18 Java/Android