图片批量下载
function matchImgs (content) {
// 正则匹配图片
const images = []
const reg = /(aaa)\/[a-z0-9]{24}\/[a-z0-9]{24}\/[a-z0-9]{32}.[a-zA-Z]{3}/g
content.replace(reg, function (m) {
const imgUrl = m.replace(/(aaa)/g, 'imgurl')
images.push(`http://域名/${imgUrl}`)
})
return images
}
const imgs = matchImgs()
exports.imgs = imgs
const fs = require("fs")
const path = require('path')
const request = require('request')
const imageList = require("./script").imgs
const Bagpipe = require('bagpipe')
const bagpipe = new Bagpipe(10)
const downloadImage = function(src, dest, callback) {
request.head(src, function () {
if(!src) return
request(src).pipe(fs.createWriteStream(dest)).on('close', function() {
callback(null, dest)
})
})
}
for (let i = 0
if (imageList[i].indexOf("http://域名") === 0) {
// 下载图片到本地images目录
const destImage = path.resolve("./images/", imageList[i].split("/")[imageList[i].split("/").length -1])
bagpipe.push(downloadImage, imageList[i], destImage, function(err, data) {
console.log(data)
})
}
}
图片批量上传
const fs = require("fs")
const path = require('path')
import * as child from 'child_process'
function upload () {
const templateUrl = path.join(process.cwd(), '/images')
const dirInfo = fs.readdirSync(templateUrl)
for (let i = 0
const item = dirInfo[i]
const location = path.join(templateUrl, item)
const index = location.lastIndexOf('/')
const fileName = location.substring(index + 1)
const imgPath = `${templateUrl}/${fileName}`
// TODO 上传到图床,获取图片url
}
}
upload()
node遍历文件目录
const url = process.cwd()
const dirInfo = fs.readdirSync(url)
for (let i = 0
console.log(dirInfo[i])
// TODO 获取文件名、路径等信息
}