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 相关文章推荐
由浅到深了解JavaScript类
Sep 08 Javascript
javascript自执行函数之伪命名空间封装法
Dec 25 Javascript
从零学JSON之JSON数据结构
May 19 Javascript
jQuery中的pushStack实现原理和应用实例
Feb 03 Javascript
JS组件中bootstrap multiselect两大组件较量
Jan 26 Javascript
三种Node.js写文件的方式
Mar 08 Javascript
详解webpack的配置文件entry与output
Aug 21 Javascript
深入理解React中何时使用箭头函数
Aug 23 Javascript
Node.js中的cluster模块深入解读
Jun 11 Javascript
微信小程序开发之自定义tabBar的实现
Sep 06 Javascript
Vue.js实现tab切换效果
Jul 24 Javascript
JS实现打砖块游戏
Feb 14 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
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
把JS与CSS写在同一个文件里的书写方法
2007/06/02 Javascript
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
2007/12/23 Javascript
扩展jQuery 键盘事件的几个基本方法
2009/10/30 Javascript
基于JQuery的Select选择框的华丽变身
2011/08/23 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
2013/05/15 Javascript
教你在heroku云平台上部署Node.js应用
2014/07/30 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
AngularJs Understanding the Controller Component
2016/09/02 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
vue-router路由简单案例介绍
2017/02/21 Javascript
Vue.js中兄弟组件之间互相传值实例
2017/06/01 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
2017/12/11 Javascript
Vue3新特性之在Composition API中使用CSS Modules
2020/07/13 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
python查找第k小元素代码分享
2013/12/18 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
python绘制简单折线图代码示例
2017/12/19 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
python实现多张图片拼接成大图
2019/01/15 Python
使用Python创建简单的HTTP服务器的方法步骤
2019/04/26 Python
python 自定义装饰器实例详解
2019/07/20 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
Selenium alert 弹窗处理的示例代码
2020/08/06 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
我的五年职业生涯规划
2014/01/23 职场文书
法制宣传实施方案
2014/03/13 职场文书
大四学生找工作的自荐信
2014/03/27 职场文书
《长相思》听课反思
2014/04/10 职场文书
宣传部部长竞选演讲稿
2014/04/26 职场文书
大学新闻系自荐书
2014/05/31 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
2014年教学工作总结
2014/11/13 职场文书
2015元旦标语横幅
2014/12/09 职场文书
租赁协议书
2015/01/27 职场文书
2015年党员创先争优公开承诺书
2015/04/27 职场文书