Skip to content

删除文件

删除单个文件

js
import { getCurrentClient } from "#imports";

// filePath包含文件完整路径,不能包含bucket名称
async function deleteObject(filePath) {
  const client = getCurrentClient();

  try {
    const result = await client.delete(filePath);
    console.log(result);
  } catch (error) {
    console.log(error);
  }
}

批量删除指定名称的文件

js
import { getCurrentClient } from "#imports";

async function deleteMulti(list) {
  const client = getCurrentClient();
  try {
    const result = await client.deleteMulti(list, { quiet: true });
  } catch (error) {
    console.error(error);
  }
}

删除指定前缀下的多个文件

js
import { getCurrentClient } from "#imports";

// 处理请求失败的情况, 防止promise.all中断, 并返回失败原因和失败文件名
async function handleDel(name) {
  const client = getCurrentClient();

  try {
    await client.delete(name);
  } catch (error) {
    error.failObjectName = name;
    return error;
  }
}

// 删除多个文件
async function deletePrefix(prefix) {
  const client = getCurrentClient();
  const list = await client.list({
    prefix: prefix,
  });

  list.objects = list.objects || [];
  const result = await Promise.all(list.objects.map((v) => handleDel(v.name)));
  console.log(result);
}

// 如果您需要删除所有前缀为src的文件, 则prefix设置为src
// 设置为src后,所有前缀为src的非目录文件、src目录以及目录下的所有文件均会被删除
deletePrefix("src");
2025( )
今日 8.33%
本周 42.86%
本月 48.39%
本年 4.11%
Powered by Snowinlu | Copyright © 2024- | MIT License