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 相关文章推荐
没有document.getElementByName方法
Aug 19 Javascript
Javascript 浮点运算的问题分析与解决方法
Aug 27 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
Nov 18 Javascript
JS父页面与子页面相互传值方法
Mar 05 Javascript
javascript的几种继承方法介绍
Mar 22 Javascript
JS hashMap实例详解
May 26 Javascript
Bootstrap 手风琴菜单的实现代码
Jan 20 Javascript
js实现简单的选项卡效果
Feb 23 Javascript
JS中mouseup事件丢失的原因与解决办法
Jun 14 Javascript
vue-cli中的webpack配置详解
Sep 25 Javascript
p5.js码绘“跳动的小正方形”的实现代码
Oct 22 Javascript
webpack+express实现文件精确缓存的示例代码
Jun 11 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实现的限制IP投票程序IP来源分析
2016/05/04 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
2018/10/14 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
2008/08/14 Javascript
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
jquery 按键盘上的enter事件
2014/05/11 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
2015/06/05 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
Bootstrap实现弹性搜索框
2016/07/11 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
2018/08/24 Javascript
layer 刷新某个页面的实现方法
2019/09/05 Javascript
jQuery 添加元素和删除元素的方法
2020/07/15 jQuery
微信小程序实现天气预报功能(附源码)
2020/12/10 Javascript
Python 内置函数complex详解
2016/10/23 Python
Django框架ORM数据库操作实例详解
2019/11/07 Python
安装Pycharm2019以及配置anconda教程的方法步骤
2019/11/11 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
美国折扣网站:jClub
2017/08/07 全球购物
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物
英国电气世界:Electrical World
2019/09/08 全球购物
马来西亚在线药房:RoyalePharma
2019/12/01 全球购物
Bath & Body Works阿联酋:在线购买沐浴和身体用品
2021/02/27 全球购物
《一株紫丁香》教学反思
2014/02/19 职场文书
优秀党务工作者事迹材料
2014/05/07 职场文书
日语系毕业求职信
2014/07/27 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
2014年终工作总结范本
2014/12/15 职场文书
党风廉正建设个人工作总结
2015/03/06 职场文书
道歉的话语大全
2015/05/12 职场文书
2015年预算员工作总结
2015/05/14 职场文书
JUnit5常用注解的使用
2021/07/02 Java/Android
nginx共享内存的机制详解
2022/03/21 Servers