概述
先贴代码
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 批量下载图片到本地所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复