admin 管理员组

文章数量: 1184232

一: 删除垃圾图片

思路:
  1. 获取 oss 中存储的所有图片文件;
  2. 获取数据库中存储的图片文件数据;
  3. 对比差异,不在数据库中的 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[

本文标签: 文件 编程 获取