一: 删除垃圾图片
思路:
- 获取 oss 中存储的所有图片文件;
- 获取数据库中存储的图片文件数据;
- 对比差异,不在数据库中的 oss 图片文件即为要删除的垃圾图片。
实现:
1、获取所有 oss 文件
importOSSfrom'ali-oss'import prisma from'@/services/index'import config from'@/config'const{
aliAccessKey, aliAccessKeySecret, ossBucketName, ossRegion }= config
import TaskOssScheduler from'./schedule'const client =newOSS({
region: ossRegion,
accessKeyId: aliAccessKey,
accessKeySecret: aliAccessKeySecret,
bucket: ossBucketName
})/**
* @description 获取 oss 下的图片
* @param other
* @returns
*/exportconst getAllImgFromOss:any=async(other:any={
})=>{
try{
let continuationToken =null;let imgArray:string[]=[]// 每页列举1000个文件。const maxKeys ='5';do{
const result:any=await client.listV2({
delimiter:'/',
prefix:'web/','start-after':'web/',// web/ 目录之后的文件'continuation-token': continuationToken,'max-keys': maxKeys,...other
},{
});
continuationToken = result.nextContinuationToken;const{
objects =[]}= result
for(let i =0; i < objects.length; i++){
imgArray.push(objects[

发布评论