我是靠谱客的博主 大意白云,最近开发中收集的这篇文章主要介绍使用node js 批量下载图片到本地,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

先贴代码

var fs = require("fs");
var path = require('path');
var asyncF = require("async");
var request = require('request');
var imageLinks = [
   "https://xxx.xxx.com/pn/wsec-img1/2020/6/4/0f5c6214-6c08-4efc-aa42-145947aba3d3.jpg",
   "https://xxx.xxx.com/pn/wsec-img1/2020/8/3/ae122d8d-b577-481c-9b6a-01c9d4115acb.jpg",
   "https://xxx.xxx.com/pn/wsec-img1/2019/8/15/90a65578-75c5-4d34-b29d-077dcc0fea7e.jpg"
]

var index = 1;

var downloadImage = function(src, dest, callback) {
	request.head(src, function(err, res, body) {
		// console.log('content-type:', res.headers['content-type']);
		// console.log('content-length:', res.headers['content-length']);
		if (src) {
			request(src).pipe(fs.createWriteStream(dest)).on('close', function() {
				callback(null, dest);
			});
		}

	});

};

asyncF.mapSeries(imageLinks, function(item, callback) {
	//console.log(item);
	setTimeout(function() {
		if (item.indexOf("https://img1.wushang.com") === 0) {
			var destImage = path.resolve("./images/", item.split("/")[item.split("/").length -1]);
			downloadImage(item, destImage, function(err, data){
				console.log("["+ index++ +"]: " + data);
			});
			
		}
		callback(null, item);
	}, 100);


}, function(err, results) {});

大体流程 将所要下载的图片链接 写入一个单独的模块,因为图片量比较多。如上图的imageLinks 这个数组。
1.安装模块 npm install fs–save 一次安装上图引入的模块
2.引入所需要的的模块,fs-文件系统,path 模块提供了一些用于处理文件路径的小工具,而后将下载的图片保存到本地某个文件中,async-流程控制工具包,使用异步操作,解决图片下到一般报错的问题,request-网络请求
3.在本地新建一个js文件 main.js ,文件类容如上图js代码
4.在当前main.js目录下 新建一个images文件夹 用于存放下载的图片
在这里插入图片描述
你也可以自己指定存放地址
5.进入main.js文件所在目录 执行命令 node main.js

转载:https://www.meiwen.com.cn/subject/npkhsttx.html

最后

以上就是大意白云为你收集整理的使用node js 批量下载图片到本地的全部内容,希望文章能够帮你解决使用node js 批量下载图片到本地所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部